C/C++
文章平均质量分 88
Christ_Sun
升级打怪!
展开
-
c++拷贝构造函数(深拷贝,浅拷贝)详解
本文转自http://blog.chinaunix.net/uid-28977986-id-3977861.html.一、什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a=100;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类转载 2015-06-16 15:29:36 · 433 阅读 · 0 评论 -
c/c++打印变量名
#include ;#include ;#define CAT(x,y) x##y#define MACRO(x) #x#define SNPRINTF(buf,size,fmt,x) \ snprintf(buf,size,fmt,MACRO(x))int main(){ char a[128]; SNPRINTF(a,sizeof(a)-1,"%s"转载 2016-02-17 18:48:47 · 2278 阅读 · 0 评论 -
C++11在时空性能方面的改进
转自:http://www.cnblogs.com/me115/p/4788322.htmlC++11在时空性能方面的改进这篇我们聊聊C++11在时间和空间上的改进点; 主要包括以下方面: 新增的高效容器:array、forward_list以及unordered containers; 以及常量表达式、静态断言和move语义;大小固定容器 array转载 2016-03-18 17:44:34 · 468 阅读 · 0 评论 -
extern "C" 链接指示
转自:http://www.cnblogs.com/rollenholt/archive/2012/03/20/2409046.html1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象转载 2015-06-30 14:18:27 · 462 阅读 · 0 评论 -
C++类内存分布
转自 http://www.cnblogs.com/jerry19880126/p/3616999.htmlC++类内存分布书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来:转载 2015-12-26 13:55:16 · 361 阅读 · 0 评论 -
C++中的 Round(),floor(),ceil()
转自:http://rejessica.blog.163.com/blog/static/1835631512011629941566/ 2.1 2.6 -2.1 -2.6floor : 不转载 2015-08-20 16:17:40 · 7688 阅读 · 0 评论 -
C++ typeid运算符
转自:http://www.cppblog.com/smagle/archive/2010/05/14/115286.aspx在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用转载 2015-08-05 10:23:02 · 1218 阅读 · 0 评论 -
C++新特性学习(1)
最近在学习c++11的新特性,参考书籍为《深入理解C++11:C++11新特性解析与应用》。大概总结了一下,并在一些感觉不妥的地方做了一些修正。1 保证稳定性和兼容性方面1.1 预定义宏1.2 一些宏定义兼容c99定义的__func__预定义标示符.该标示符用于返回函数的名字。兼容C/C++的#pragma预处理指令,该指令用于向编译器传达语原创 2015-07-12 17:26:31 · 535 阅读 · 0 评论 -
C++新特性学习(4)
4 提高类型安全方面4.1 强枚举类型“枚举类”C++98:在老标准的C/C++中,如果程序员希望为一些有意义的数值定义各自的名字,则经常使用三种方法:宏、枚举和静态常量。使用宏的弱点在于其定义的只是在预处理阶段的名字,预处理结束后所有的名字都会被定义值替换。这在有的时候可能会干扰到正常代码(如果宏名与某变量名重定义)。枚举定义的名字都是编译时期的名字,会得到编译器的检查,相比原创 2015-07-28 22:12:58 · 644 阅读 · 0 评论 -
C++新特性学习(2)
1 通用性方面1.1 继承构造函数C++98: 不支持 派生类可以自动获得基类的成员和接口(虚函数和纯虚函数),但非虚函数就无法派生使用,这包括构造函数。在构造派生类时,需要在初始化列表中显式调用基类的构造函数,以此完成派生类的构造。 存在一种特例:基类A实现了多种构造函数以及其它成员,派生类B继承自A,B中原创 2015-07-28 22:12:00 · 805 阅读 · 0 评论 -
C++新特性学习(3)
1 易用性方面1.1 改进的右“>”括号解析C++11中,定义模板实例时,不再需要小心地在多个连续的大于号之间添加空格了。不必再担心模板定义中的“>>”被解析为右移操作。1.2 auto类型推导C++11重新定义了auto关键字,该关键字修饰的变量可以使变量在编译时令编译器自动进行变量类型推导。比如下列代码: double foo(); auto x = 1; //x类型自原创 2015-07-28 22:13:57 · 515 阅读 · 0 评论 -
函数参数的使用
个人总结了一下函数的参数在传递时的应用情况,如有不足或者错误,请大家帮忙指出。1、函数参数的传递方式函数参数的传递方式主要为值传递和地址传递,其中地址传递方式有可以分为引用传递和指针传递。(1)值传递方式值传递方式只将实参的值的副本传递给形参,函数内的逻辑只对形参进行而不影响实参。函数执行完后会销毁栈,此时形参也被释放,实参不受任何影响。对于内置类型:由于其所占大小有限,可以采原创 2015-07-03 09:56:02 · 1170 阅读 · 0 评论 -
C++的四种强制转换
转自:http://jingyan.baidu.com/article/02027811a1d7d71bcc9ce5f4.html.C++的强制转换大致分为四种,每一种的作用有哪些?怎么操作?在达内C++培训的课余时间跟大家全程讲解一下。1 static_cast ( expression )用法: 该运算符把expression转换为type-id类型转载 2015-06-18 16:27:12 · 561 阅读 · 0 评论 -
C++中const重载
转自:http://blog.csdn.net/sulliy/article/details/5643443众所周知,C++实现函数重载有两种情况:函数参数的类型不同,参数的个数不同。而与函数的返回值没有什么关系。需要注意的是在如下情况下:[c-sharp] view plaincopyfloat f1(float a,转载 2015-06-18 11:50:23 · 626 阅读 · 0 评论