
c++11
c++11
低头看天,抬头走路
句句都是正确的废话,招招都是致命的空招。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++关于NULL、0、nullptr
一 关于NULL、0、nullptr 1 在C语言中NULL被定义为:一个void* 指针,指向的地址为0。 2 而在C++中,NULL会被定义为0 3 C++11引入了nullptr 来表示空指针 //func1 int mycall(char *a, char *b) { cout<<"char pointer!"<<endl; } //func2 int my...原创 2019-12-11 16:08:39 · 256 阅读 · 0 评论 -
c++11 emplace_back和push_back
有移动构造函数 #include <iostream> #include <cstring> #include <vector> using namespace std; class A { public: A(int i){ str = to_string(i); cout << "构造函数" <&...原创 2020-03-14 00:36:09 · 313 阅读 · 0 评论 -
右值引用与转移语义
新特性的目的 右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要目的有两个方面: 消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。 能够更简洁明确地定义泛型函数。 左值与右值的定义 C++...原创 2019-12-10 12:17:06 · 323 阅读 · 0 评论 -
c++ 智能指针
智能指针 在智能指针出现以前,我们通常使用 new 和 delete 来管理动态分配的内存,但这种方式存在几个常见的问题: 1.忘记 delete 内存:会导致内存泄漏问题,且除非是内存耗尽否则很难检测到这种错误。 2.使用已经释放掉的对象:如果能够记得在释放掉内存后将指针置空并在下次使用前判空,尚可避免这种错误。 3.同一块内存释放两次:如果有两个指针指向相同的动态分配对象,则很容易发生这种错误...原创 2019-08-04 23:16:50 · 292 阅读 · 0 评论 -
c++四种cast的原理和用途
四种cast c++ 有四种显示类型转换,分别为static_cast, dynamic_cast, const_cast, reinterpret_cast。 static_cast主要用于 1.基本类型的转换,比如int转char 2.类的上行转换,子类的指针或者引用转换为基类(安全) 3.类的下行转换,基类的指针或引用转换为子类(不安全,没有类型检查) dynamic_cast用于类的指...原创 2019-06-30 17:10:30 · 7492 阅读 · 1 评论