C++Q&A
文章平均质量分 76
记录平时在学C++或者在面试的时候遇到的一些C++的问题,并尝试回答这部问题。希望能给初学C++的提供一些帮助。
waponx
不登高山,不知天之高也;不临深溪,不知地之厚也。
展开
-
C++ Q&A(四)new 运算符
将内存分配和初始化分开: C++允许把内存的分配和初始化分开。从原则上说,初始化由构造函数完成。 静态函数咱在程序连接时完成分配,局部对象在堆栈上完成分配,由new运算符创建的的对象通过适当的operator new()分配。释放的方式与此类似。 例如: class X { //..... public : void *operator new(size_t原创 2015-02-27 18:57:15 · 719 阅读 · 0 评论 -
C++ Q&A(六)构造函数的常见问题
声明:Q&A系列的文章是我在平时自己遇到的或者看到的一些问题,本着再小的问题也需要有人解答的想法,将这些问题和答案整理出来。 欢迎和我讨论问题,同时也欢迎转载Q&A系列的文章。 前两篇文章说了new运算符的有些相关知识,现在我们再来探讨一下有关C++的构造函数的问题。下面的问题都是在面试中很 经常被问到的。 1.构造函数可以是虚吗? 我在面CVTE的原创 2016-04-14 15:06:08 · 797 阅读 · 0 评论 -
C++ Q&A(五) 再论new操作符
声明:Q&A系列的文章是我在平时自己遇到的或者看到的一些问题,本着再小的问题也需要有人解答的想法,将这些问题和答案整理出来。 欢迎和我讨论问题,同时也欢迎转载Q&A系列的文章。 new operator: 指的是一般情况下我们使用的new运算符,C++primer中叫做new experssion operator new:operator new 是一个函数。用来分配空间,和C标准原创 2016-04-14 14:32:52 · 484 阅读 · 0 评论 -
C++ Q&A(三) C++的内存模型
先介绍一下内存的分段机制: 在虚拟内存中,一个程序为了方便共享和保护,就会使用分段。分段是把一个程序分成独立的地址空间,每个段都有自己的基址和长度,在纯分段系统给中,段内地址是一段连续的内存,在段页式系统中,段内地址也分成页号和页内地址,允许离散的分配空间。 gcc在编译程序的时候,把程序分成了很多个段,下面是几个比较经典的段: 上面这个图是从上到下,代表的是从高地址到低原创 2016-04-11 16:19:15 · 657 阅读 · 0 评论 -
C++Q&A(二) 变长数组和变长结构体是什么
声明:Q&A系列的文章是我在平时自己遇到的或者看到的一些问题,本着再小的问题也需要有人解答的想法,将这些问题和答案整理出来。 欢迎和我讨论问题,同时也欢迎转载Q&A系列的文章。 第一个问题 什么是变长数组 变长数组是C99中的新加入的特性,要理解这个变长数组很简单,只需一段代码就可以了。 int a[10]; //定长数组 int b[n]; //变长数组,n可以是任何正原创 2016-04-14 14:16:52 · 2233 阅读 · 0 评论 -
C++ Q&A(一)C++与C的区别
在C语言中,“数据”和“数据处理”是分开来声明的,也就是说语言本身并没有支持“数据和函数”之间的关联性,这样的程序方法称为程序性的,也就是面向结构的。它们由一组“分布在各个功能为导向的函数中“的算法所驱动,它们处理的是共同的外部数据。(摘自:深度探索C++对象模型) 按照一般入门的人的理解,就有了下面的例子: bool print(char name[20], int hight, int原创 2016-04-13 22:22:50 · 922 阅读 · 0 评论