2017年1月5日

extern关键字

摘要: 1.extern "C" void func(){...} extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++ 阅读全文

posted @ 2017-01-05 20:49 暴力的轮胎 阅读(297) 评论(0) 推荐(0) 编辑

c++的默认构造函数 VS 深拷贝(值拷贝) 与 浅拷贝(位拷贝)

摘要: C++默认为类生成了四个缺省函数: 这不禁让人疑惑,既然能自动生成函数,为什么还要程序员编写? 原因如下: (1)如果使用“缺省的无参数构造函数”和“缺省的析构函数”,等于放弃了自主“初始化”和“清除”的机会,C++发明人Stroustrup的好心好意白费了。 (2)“缺省的拷贝构造函数”和“缺省的 阅读全文

posted @ 2017-01-05 17:45 暴力的轮胎 阅读(336) 评论(0) 推荐(0) 编辑

inline-内联函数的优点以及与宏定义的区别

摘要: inline函数的优点: C++ 语言的函数内联机制既具备宏代码的效率,又增加了安全性,而且可以自由操作类的数据成员。所以在C++ 程序中,应该用内联函数取代所有宏代码. inline函数与宏定义的区别: 1.宏定义只是简单的文本替换,不做任何安全性的检查也不像函数那样在栈上创建新的变量空间. (1 阅读全文

posted @ 2017-01-05 11:38 暴力的轮胎 阅读(2981) 评论(0) 推荐(0) 编辑

char类型输出地址

摘要: 问题描述: 当输出char的地址时,发现输出的是一个字符: 因为cout得到一个char类型的地址,默认当做字符串来输出的,所以会导致输出乱码. 使用char*类型指向ch,然后输出同样也会输出乱码. 解决办法: 将其转成void*(空指针)类型,这样就可以打印其地址. 阅读全文

posted @ 2017-01-05 10:26 暴力的轮胎 阅读(441) 评论(0) 推荐(0) 编辑

导航