![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
wangwenyang8888
爱网络,爱软件,爱编程,爱开发
展开
-
一招教你学会C C++混编
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。这里举个例子:我们实现了两个模块module1和module2.见下:# module1.h #ifdef __module1_H_ #define __module1_H_H #ifdef __cplusplus extern "C" { #endif原创 2014-02-25 16:48:50 · 653 阅读 · 0 评论 -
C++类型转换关键字(*_cast)
在C/C++语言中用 (type) value(在C++还可以采用type(value))来进行显式类型转换(explicit type conversion),常常又被称为强制转换(cast投射/铸模)。这种转换的正确性完全掌握在程序员手中,传统上强制转换往往被过度使用,成为C++程序犯错的一个主要根源。为了减少强制转换的副作用,并且在查错时使程序员能够快速定位(总是最值得怀疑的)强转载 2014-02-17 00:45:02 · 520 阅读 · 0 评论 -
C++变量对齐
编译器要对c++代码进行编译时需要按照相应的类型为变量分配内存空间,最为人们熟知的就是那五个空间了:栈,堆,全局数据区,常量区和代码区。现在知道了哪些变量存放在哪些空间里了,但是在相应的空间里又是如何存放的呢?相信很多人都已经知道了,我也知道了。对齐方式有三种规则,看网上已经很详细了,我还是想用自己的话再说一遍吧: 1. 数据成员对齐规则: 为类,结构体或联合体分配内存时,首先可以确定这转载 2014-02-28 01:59:43 · 1184 阅读 · 0 评论 -
关于C++中的临时对象问题
C++中真正的临时对象是看不见的,它们不出现在你的源代码中,临时对象的产生在如下几个时刻: 1. 用构造函数作为隐式类型转换函数时,会创建临时对象。例: class Integer { public: Integer(int i) :m_val(i) {}转载 2014-02-17 21:08:33 · 1211 阅读 · 0 评论 -
重载=时返回对象引用与非引用的区别
摘要: 在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。 如果对象在申明的同时马上进行初始化操作,则称之为拷贝运算。例如: class1 A("af"); class1 B=A; 此时其实际调用的是B(A)这样的浅拷贝操作。 如果对象在申明之后,再进行赋值运算,我们称之为赋值运算。例如: class1 A(转载 2014-02-17 20:27:06 · 726 阅读 · 0 评论