
C++
文章平均质量分 77
一只会敲代码的喵
这个作者很懒,什么都没留下…
展开
-
C++返回对象和返回引用
最大的区别在于,返回对象的话会在内存中根据返回的类型开辟一块区域,用返回的值对该内存进行初始化,如果是返回的对象,利用拷贝构造来初始化这个区域,但是这块区域并没有名字,就是说之后用户没办法访问到这个区域,也成为无名变量,它只能在接下来的代码中进行一次性的用途,要不作为参数传递,或者将值打印,再之后就会直接销毁,或者调用析构函数。而返回引用的话,引用的本质是对裸露的地址的二次包装,它实际返回的还原创 2016-11-11 16:15:23 · 1913 阅读 · 0 评论 -
C++标准转换运算符const_cast
转载来源:http://www.cnblogs.com/ider/archive/2011/07/22/cpp_cast_operator_part2.htmlC++相比于C是一门面向对象的语言,面向对象最大的特点之一就是具有“多态性(Polymorphism)”。要想很好的使用多态性,就免不了要使用指针和引用,也免不了会碰到转换的问题,所以在这一篇,就把导师讲的以及在网上反复查阅转载 2016-11-01 11:16:34 · 234 阅读 · 0 评论 -
通过常量表达式初始化的const变量定义在头文件中
《C++primer》中,讲到头文件中不可以包含定义,有三个例外:类,常量表达式初始化的const对象,inline。对于不是用常量表达式初始化的const对象,可以加上extern放在源文件中,并在头文件中加上extern声明。但是对于用常量表达式(即编译器就可以确定的)初始化的const对象,是不可以这么做,而要将定义全部放在头文件中,原因是该const对象用常量表达式初始化,那么该对原创 2016-11-18 10:44:33 · 2064 阅读 · 0 评论 -
C++primier总结
未完待续C++ Primer总结第一章1.endl是一个特殊的值,称为操作符,将它写入输出流是,不仅有输出换行的效果,还会刷新与设备相关联的缓冲区,这样用户可立即看到写入到流中的输出。2.printf(“”)中,注释/* */是不起作用的,在cout3.C++可以实现未知数目的输入 while(std::cin>>buf){}std::cin>>的返回值仍原创 2016-12-05 16:34:10 · 818 阅读 · 0 评论 -
C++总结
Day01:1.const 更严格的类型检查,C中可以暗度陈仓,通过指针来改一个const修饰的变量,但在C++中会被查出,等式左右两侧必须类型完全相同。2.更严格的enum3.表达式可以做左值。4.布尔类型,其实是enum{true,false}。5.C++ 不用指针 不用字符数组不用类型强转6.所有字符串有关的用string定义,C中从键盘中读取字符到一个字符数组中,不原创 2016-11-15 20:51:52 · 684 阅读 · 0 评论 -
如何保证只能在堆(heap)上创建对象?
代码:[cpp] view plain copy print?class OnlyHeapClass { public: OnlyHeapClass() { } void Destroy() { delete this; // 等效于"转载 2017-04-10 19:45:29 · 429 阅读 · 0 评论