摘要:#引用是什么?引用就是一个变量的别名----------# 引用的定义语法`int b; int & a=b;` 这里表明的是a是一个指向int类型变量的引用,也就是说a是b的一个别名。-----------# 引用在哪些地方使用?引用最常使用的地方是用做函数的参数----------# 函数调用用...
阅读全文
摘要:为什么要使用友元函数? 在实现类之间数据共享时,减少系统开销,提高效率
如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数
为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。此时可使用友元类 友元函数是全局函数还是类的成员函数 友元函数既可以是全局函数也可以是某个类的成员...
阅读全文
摘要:extern关键字的含义是什么? extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 extern关键字的一般用法是怎样的? 在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。
例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样...
阅读全文
摘要:#C++编译器会自动生成哪些函数- 构造函数- 拷贝构造函数- 析构函数- 赋值函数--------# 如何不想要上面那些编译器自动生成的函数> 比如我想实现单例模式**传统方法**- 将构造函数声明成private类型:为何声明成了private后就能实现单例模式呢**C++11做法**- C++...
阅读全文
摘要:# C++11中有哪几种智能指针- `auto_ptr`- `shared_ptr`- `scope_ptr`-----# 简单介绍auto_ptr- auto_ptr是一个可以根据其自己指向的内容自动确定类型的指针- auto_ptr在aos代码中用得比较多- 使用auto_ptr需要包含`#in...
阅读全文
摘要:make_shared作用 make_shared的作用和new类似,都是构造一个对象实例 make_shared和new的性能比较 make_shared和new的性能在C++03上加了优化选项后表现得基本一致
在C++ 11中因为make_shared有std::move语义,在加上O2优化选项的时候,make_shared会比new快上将近1倍 来自为知笔记(Wiz)
阅读全文