美文网首页
C++里的&

C++里的&

作者: DrunkPian0 | 来源:发表于2019-07-20 19:13 被阅读0次
  1. 举个vector的例子,相对于Java,注意两点;
    第一,对象不需要new
    第二,如果不加&,默认会重新申请一块内存拷贝进去。

    如果不加&,vec2是不是相当于深拷贝list[0]到vec2里去
  2. 举一个交换的例子:


#include<iostream>
using namespace std;
 
void swap(int a, int b)//a,b不改变,因为a,b的生命周期只在swap函数内,结束swap后a,b就消失,不改变实参
{
    int c = 0;
    c = a;
    a = b;
    b = c;
}
 
void swap1(int *a, int *b)//使用指针,交换地址实现数字变换
{
    int c = 0;
    c = *a;
    *a = *b;
    *b = c;
}
 
void swap2(int& a, int& b)//使用引用,a,b是实参的别名,相当于对实参的调用
{
    int c = 0;
    c = a;
    a = b;
    b = c;
}
 

ref:
https://www.tlanyan.me/and-operator-in-cpp/
https://blog.csdn.net/qq_38386991/article/details/82719171

相关文章

  • C++里的&

    举个vector的例子,相对于Java,注意两点;第一,对象不需要new。第二,如果不加&,默认会重新申请一块内存...

  • C++

    C与C++的关系 1.C++可以与C代码进行混编(C++里能写C代码,C里不能写C++代码)2.C++面向对象编程...

  • const int = int const?

    根据我的了解, const 这个用法在 c++ 里非常复杂, 看完了 c++ primer 5th 里相关章节...

  • IOS报错duplicate symbol _main in:

    duplicate symbol _main in: 原因:oc调用C++文件时,工程里的main函数和C++中的...

  • iOS 代码使用 C++ 的 zero-cost abstrac

    不少 iOS 项目里都有 C++ 代码的痕迹,Objective-C 和 C++ 虽然都是 C 的 superse...

  • iOS 代码使用 C++ 的 zero-cost abstrac

    不少 iOS 项目里都有 C++ 代码的痕迹,Objective-C 和 C++ 虽然都是 C 的 superse...

  • 关于c/c++互调的事情

    c/c++互调其实是老生常谈的事情了,不过还是说说自己的理解~。 c/c++互调无外乎c++文件里调用c的函数或者...

  • 这两个地方为什么会报错?

    C# 里的class 和 struct有很多相似点,但是又有很多不同点。跟C++最大的不同是,C++里struct...

  • 如何实现自动注册对象Factory

    目标 了解C++里的Factory模式应用场景、实现方法,采用模板实现带来的便利。 来源 A C++ Object...

  • c++传递字符串给c#使用问题

    C++里,字符串要占用内存的。C++创建字符串,并传给C#,就会造成内存泄露(因为C#不知道C++如何创建,也就不...

网友评论

      本文标题:C++里的&

      本文链接:https://www.haomeiwen.com/subject/omgulctx.html