c++
文章平均质量分 56
_似水无痕
这个作者很懒,什么都没留下…
展开
-
c++ string 类的实现
#include #include class CString { public: CString(const char *p = NULL) { if (p == NULL) { mptr = new char[1]; *mptr = 0; } else { mptr = new char[strlen(p) + 1]; strcpy(原创 2018-01-12 16:54:21 · 160 阅读 · 0 评论 -
c++多态
最近查看有关多态的知识,感觉有些陌生,因此梳理一下c++多态的知识 多态:分为静多态和动多态,分别对应编译时期绑定的称为静多态(早绑定),非编译时期绑定的称为动多态(晚绑定) 静多态通过函数模板和重载实现.本质是接口的复用。 函数重载: int add(int a, int b) { return a + b; } double add(double a, double b)原创 2018-02-02 20:18:46 · 164 阅读 · 0 评论 -
类型强转
int i = 0; double d = i; //显示的强制类型转换 cout << i<<endl; int *p =&i; double b = (int)p;//显示的强制类型转换 cout 1 static_castint i = 2; double d = static_cast(i); //正确,相关类型转换 int *p = &i; doub原创 2018-01-27 21:02:36 · 329 阅读 · 0 评论 -
右值引用与转移语义
新特性的目的右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要目的有两个方面: 消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。 能够更简洁明确地定义泛...转载 2018-04-07 21:57:12 · 168 阅读 · 0 评论