关于征求网站建设,广告开户南京seo,网络有限公司经营范围有哪些,国际域名注册商C学习笔记函数一般有返回值,构造函数有没有返回值?有返回值,返回一个对象,确定所以没写;在头文件中,防卫式声明,#ifndef…#define … #endif;pass by value或者 reference,传值是整包…
C++学习笔记
- 函数一般有返回值,构造函数有没有返回值?有返回值,返回一个对象,确定所以没写;
- 在头文件中,防卫式声明,#ifndef…#define … #endif;
- pass by value或者 reference,传值是整包传递,引用的底部就是指针,效率更高;
- 构造函数一般放在public中,能不能放在Private,可以,设计模式中的singleton就用了这个用法;
- 不改变数据的类中函数可以加const;
- 什么情况下不能传引用,返回值不能返回引用;
- 构造函数可以用初始化列表;
- 传递者无需知道接收者是以引用形式接收的;
- 拷贝赋值函数,必须检测是不是自我赋值,如果是自我赋值可以提高效率,不检测上来就是delete,会删除要赋值的元素,没法赋值;
- 带指针的class必须有拷贝构造、拷贝赋值、析构函数;
- 堆里开辟的内存必须手动删除; delete先调用析构函数,再释放内存(执行operator delete 源代码是free());new先分配内存,再转型然后调用构造函数;
- i++是先用临时对象保存原来的对象,然后对原对象自增,再返回临时对象,不能作为左值;++i是直接对于原对象进行自增,然后返回原对象的引用,可以作为左值;++i由于不用生成临时变量,且以引用方式返回,故没有构造与析构的开销,效率更高。所以在使用类等自定义类型的时候,应尽量使用++i。i++是先赋值,然后再自增;++i是先自增,后赋值;
- 带指针的类,需要关注big three ,拷贝构造、拷贝赋值和析构函数,拷贝构造参数可以加const(没改变原来的数据可以加) ,函数不能加const(在new新的东西出来)。
- 复合关系下的类,构造由内向外,调用的是默认构造函数,不满足要求需要自己写,析构由外向内。继承也是如此;
- 非虚函数(non -virtual):不希望子类重新定义她;
- 虚函数(virtual):希望子类重新定义它、且你对他已经默认定义;
- 纯虚函数(pure-virtual):希望子类重新定义它、且没有默认定义;
- exlict 90%以上用在构造函数前面,在模板中也可能用到;
- 变量能且只能定义一次,但可以声明多次;
- 引用必须初始化,引用并非对象,只是为一个已经存在的对象所起的另一个名字(引用即别名);
- 空指针,例如int *p=nullptr等价于int *p=0;
- 搞清楚改变的是指针的值还是指针指向对象的值,最好的方法是记住赋值永远改变的是等号左侧的对象;
- 常量指针必须初始化,一旦完成初始化,就不能再改变(存放在指针中的那个地址不能再改变了)。
- 指针的类型要和它所指向的对象类型严格匹配(两种特例除外);
- string的=初始化一个变量,实际上执行的是拷贝初始化,如果不使用等号,则是直接初始化;
- 多余的空语句并非都是无害的,例如循环体后的空语句。
- switch语句最好在后面加一条break语句;
- 返回值和引用的区别,函数返回值时会产生一个临时变量作为函数返回值的副本,而返回引用时不会产生值的副本;
- const总结:1、用const 修饰函数的参数;2、用const 修饰函数的返回值;3、const 成员函数(const的作用:说明其不会修改数据成员);
- const 成员函数的声明看起来怪怪的:const 关键字只能放在函数声明的尾部,例如 int GetCount(void) const; // const 成员函数;
- 关于Const函数的几点规则:a. const对象只能访问const成员函数,而非const对象可以访问任意的成员函数,包括const成员函数;b. const对象的成员是不可修改的,然而const对象通过指针维护的对象却是可以修改的;c. const成员函数不可以修改对象的数据,不管对象是否具有const性质.它在编译时,以是否修改成员数据为依据,进行检查;e. 然而加上mutable修饰符的数据成员,对于任何情况下通过任何手段都可修改,自然此时的const成员函数是可以修改它的;
- 常量指针,声名格式:const * 类型名 指针名 ;这根指针不变,但是指向的对象可以改变;
- 指针常量
- 相同class的各个对象互为友元。
- auto一般会忽略顶层const,底层const会保留,如果推断出auto是一个顶层const那么需要明确指出。引用也可以设置成auto;
- decltype处理引用、const和auto处理引用、const的方式不太一样;
文章转载自: http://contempt.rwzc.cn http://tamarillo.rwzc.cn http://dirigisme.rwzc.cn http://introductive.rwzc.cn http://wpi.rwzc.cn http://seizin.rwzc.cn http://craniate.rwzc.cn http://chlorotrianisene.rwzc.cn http://maryland.rwzc.cn http://canterer.rwzc.cn http://fibriform.rwzc.cn http://trihydroxy.rwzc.cn http://antifreezing.rwzc.cn http://unita.rwzc.cn http://limner.rwzc.cn http://gestion.rwzc.cn http://pluteus.rwzc.cn http://adventure.rwzc.cn http://nlc.rwzc.cn http://noah.rwzc.cn http://niff.rwzc.cn http://collaboration.rwzc.cn http://mouseproof.rwzc.cn http://aeruginous.rwzc.cn http://nahua.rwzc.cn http://autotype.rwzc.cn http://barnacle.rwzc.cn http://dim.rwzc.cn http://ferriferous.rwzc.cn http://grog.rwzc.cn http://reflexible.rwzc.cn http://callithump.rwzc.cn http://sitting.rwzc.cn http://vigorous.rwzc.cn http://nomarchy.rwzc.cn http://euphemist.rwzc.cn http://titration.rwzc.cn http://illth.rwzc.cn http://danzig.rwzc.cn http://gyniatry.rwzc.cn http://vizier.rwzc.cn http://fodderless.rwzc.cn http://behind.rwzc.cn http://outrigged.rwzc.cn http://palmation.rwzc.cn http://cheers.rwzc.cn http://verbile.rwzc.cn http://contractible.rwzc.cn http://supergravity.rwzc.cn http://charming.rwzc.cn http://acpi.rwzc.cn http://eared.rwzc.cn http://declinable.rwzc.cn http://rotta.rwzc.cn http://pervicacious.rwzc.cn http://multicellular.rwzc.cn http://macaw.rwzc.cn http://escarpmetnt.rwzc.cn http://craniopharyngioma.rwzc.cn http://resentfluness.rwzc.cn http://intention.rwzc.cn http://polysyntheticism.rwzc.cn http://mailbox.rwzc.cn http://diddle.rwzc.cn http://aforecited.rwzc.cn http://kalif.rwzc.cn http://shipowner.rwzc.cn http://attila.rwzc.cn http://settecento.rwzc.cn http://rs.rwzc.cn http://unpuzzle.rwzc.cn http://uncreate.rwzc.cn http://papertrain.rwzc.cn http://chromatics.rwzc.cn http://andalusia.rwzc.cn http://succumb.rwzc.cn http://nidicolous.rwzc.cn http://anemochory.rwzc.cn http://admonition.rwzc.cn http://gnarled.rwzc.cn http://outbound.rwzc.cn http://suffragan.rwzc.cn http://hyperphagia.rwzc.cn http://monochromasy.rwzc.cn http://diggable.rwzc.cn http://syzygy.rwzc.cn http://gothic.rwzc.cn http://classmate.rwzc.cn http://individually.rwzc.cn http://reorientation.rwzc.cn http://intertype.rwzc.cn http://lyssa.rwzc.cn http://longest.rwzc.cn http://emalangeni.rwzc.cn http://suggested.rwzc.cn http://dogleg.rwzc.cn http://atop.rwzc.cn http://netful.rwzc.cn http://toady.rwzc.cn http://exciton.rwzc.cn