Effective C++
文章平均质量分 69
FBI-PC
这个作者很懒,什么都没留下…
展开
-
条款03:尽可能使用const
条款03:尽可能使用constconst的一件奇妙事情是,它允许你指定一个语义约束(也就是指定一个“不被改动”的对象),而编译器会强制实施这项约束修饰指针面对指针,可以指出指针自身,指针所指物或两者都(或都不)是const char greeting[] = "Hello"; char *p = greeting; //非常量指针,非常量数据 const char* ...原创 2018-05-29 23:57:24 · 157 阅读 · 0 评论 -
条款05:了解C++默认编写并调用哪些函数
如果自己没申明,编译器会为它声明(编译器版本的)一个copy构造函数、一个copy构造函数、一个copy assignment操作符和一个析构函数。此外如果你没有申明任何构造函数,编译器也会为你声明一个default构造函数。所有这些函数都是Public且inline因此,如果你写下: Empty& operator=(const Empty& rhs){…} //默...原创 2018-06-07 23:29:42 · 142 阅读 · 0 评论 -
条款06:若不想使用编译器自动生成的函数,就该明确拒绝,以及C++11在这方面的新标准
在新编准发布以前,类是通过将其拷贝构造函数和拷贝赋值运算符声明为private来阻止的。例如,在房产中介看来,每个房子都是独一无二的,所以不允许复制和拷贝。那么可能会想,如果不希望class支持某一个特定机能,只要不申明对应函数就行,但是这个策略对copy构造函数和copy assignment操作符却不起作用,因为对于这几类函数,如果你不申明他们,当调用的时候,编译器会默认的为你们申明他...原创 2018-07-30 21:55:44 · 138 阅读 · 0 评论 -
C++强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast
转发自:这个作者c强制转换与c++强制转换c语言强制类型转换主要用于基础的数据类型间的转换,语法为:(type-id)expression//转换格式1type-id(expression)//转换格式2c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast,...转载 2018-08-29 10:57:28 · 113 阅读 · 0 评论 -
条款28:避免返回handles指向对象内部成分
首先通过一份代码分析:#include<iostream>#include<vector>#include<algorithm>#include<memory>using namespace std;#define MAX_SIZE 40000class Point{public: Point(int xx,int y...原创 2018-09-04 16:17:14 · 120 阅读 · 0 评论