基本语法
十日十月
这个作者很懒,什么都没留下…
展开
-
C++ 笔试题
1、基类构造函数,派生类构造函数,原创 2014-10-16 21:32:34 · 660 阅读 · 0 评论 -
obj1 = obj2 调用的是复制构造函数,还是重载复制运算符
拷贝构造函数是用一个已存在的对象去构造一个不存在的对象(拷贝构造函数毕竟还是构造函数嘛),也就是初始化一个对象。而赋值运算符重载函数是用一个存在的对象去给另一个已存在并初始化过(即已经过构造函数的初始化了)的对象进行赋值。 它们定义上的区别,楼上的已经说过了。 比如:String s1("hello"),s2=s1;//拷贝构造函数 Sring s1("hello"),s2;转载 2014-09-17 20:19:25 · 829 阅读 · 0 评论 -
memset赋值问题
http://www.cnblogs.com/caidaxia/archive/2011/11/21/2257241.html 关于memset的用法, 常用于对于较大的结构体或数组进行清零操作//注意,是清零操作,如果进行统一赋值,要谨慎。 void *memset( void *dest, int c, size_t count ); 函数将dest所指向原创 2013-06-07 15:40:00 · 2542 阅读 · 0 评论 -
堆和栈的区别是啥?
http://zhidao.baidu.com/link?url=sJzCFe1hBw27QCTsNYJKcrO-8xytk8Mjhm2ZObtIGXN9l2E-eSabB_E9YCXRAWI1q9ML7lyF429rEp_ybH0vl_ 一、预备知识―程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放转载 2014-03-17 22:21:26 · 549 阅读 · 0 评论 -
全局变量,静态变量,extern,static
参见文章:http://blog.csdn.net/deirdre/article/details/5452624 1、编译单元(模块): 编译单元就是指在编译阶段生成的每个obj文件,一个obj文件就是一个编译单元,也就是说一个cpp(.c)和它相应的.h文件共同组成了一个编译单元,一个工程由很多个编译单元组成,每个obj文件里包含了变量存储的相原创 2012-07-16 19:29:16 · 5902 阅读 · 1 评论 -
lib与dll
————————————————————一楼—————————————————————————— 那很多第三方的库是动态库还是静态库 它们好像只有提供头文件和.LIB文件啊,没有相应的.DLL文件啊??? lib是库的简称,共有两种 1、一种包含了函数所在DLL文件和文件中函数位置的信息,代码由运行时加载在进程空间中的DLL提供。称为动态链接库dynamic link libra转载 2012-10-29 18:32:32 · 1637 阅读 · 0 评论 -
C++ 虚函数表解析
声明:本文转自 http://haoel.blog.51cto.com/313033/124595/ ,对原作者表示感谢!! 前言 C++关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++当然,相同的文章在网上也出现过一些了,但我总感觉这些文章不是很容易阅读,大段大段的代码,没有图片,没有详细的说明,没有比较,没有举一反三。不利于学习和阅读,所以这是我想写转载 2014-03-17 21:46:58 · 499 阅读 · 0 评论 -
类成员函数,虚函数及虚函数表,内存布局
发现一个很奇怪的问题,让我重新审视了一下原创 2014-05-09 19:00:21 · 668 阅读 · 0 评论 -
static_cast<>揭密
转自:http://www.vckbase.com/index.php/wv/1365 ,转载 2014-05-08 10:51:00 · 566 阅读 · 0 评论 -
RTTI, dynamic_cast, typeid
http://jetyi.blog.51cto.com/1460128/671256原创 2014-04-27 17:25:05 · 538 阅读 · 0 评论 -
struct的内存对齐(转)
来源 1 数据成员对齐,结构体(或联合体)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数 倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。 2 结构体的总大小,也就是sizeof的结果,必须是其内部最大成员的整数倍,不足的要补齐。 3 结构体作为成员,如果 一个 结构体里面有某些结构体转载 2014-03-17 22:16:28 · 536 阅读 · 0 评论 -
int i=3; printf("%d,%d,%d",i,i++,i++);结果是3,3,3,而int i=3; printf("%d,%d,%d",i+8,i+=5,i--);
http://zhidao.baidu.com/link?url=Vy-yASb2cE4LihdVaEpUqHkk-vMLZC141arTg4b61CHVL5dhqQKE81SyYcfJTvA15nsHRJsj40QlEEshHvjpIK 像这种计算循序的问题答案不是确定的,不同的编译器规定的计算循序是不一样的。你这个结果估计是在vc6.0上计算出来的,我用的是VS2012,得到的结果转载 2015-04-02 20:23:34 · 8399 阅读 · 0 评论