
C++
Alan-Zhang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于C++中标准库以及string.h,cstring,string的区别
#include void main() { string aaa= "abcsd d"; printf("looking for abc from abcdecd %s/n", (strcmp(aaa,"abc")) ? "Found" : "Not Found"); } 不能正确执行,提示说是string类型没有定义 而下面: #include using namespace std; void main() { string aaa= "ab转载 2010-10-13 16:16:00 · 1920 阅读 · 0 评论 -
内存分配方式
内存分配方式:(1)从静态存储区域分配。内存在程序编译时已经分配好,在程序运行期间都存在。如全局变量、静态变量(2)在栈上创建。执行函数时,函数内部局部变量存储单元都可以在站上创建,函数结束时,这些存储单元自动释放。栈内存分配分配的内存容量有限。(3)从堆上分配,亦动态分配。程序运行时用malloc或new申请任意多少的内存,程序员负责何时用free或delete释放。动态内存的生存期由我们决定。常见内存错误及解决办法:1、内存分配未成功,却使用了它。 解决办法:在使用内存之前检查指针是否为NULL。如转载 2010-10-13 16:29:00 · 437 阅读 · 0 评论 -
new和malloc的区别
1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行,而malloc没有这些信息。4、new 和 malloc效率比较new 有三个字母, malloc有六个字母new可以认为是malloc加构造函数的执行。new出来的指针是直接带转载 2010-10-13 16:54:00 · 572 阅读 · 0 评论 -
华为面试题及答案(转)
Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?OSI词条,参见百度百科Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?UDP,TCP在传输层,IP在网络层, TCP/IP是英文Transmission Control Protocol/Internet Protocol的缩写,意思是"传输控制协议/网际协议"。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之转载 2010-10-18 21:02:00 · 1954 阅读 · 0 评论 -
内存方面
<br /><br />一、sizeof()<br /> 1.sizeof的使用:sizeof操作符以字节形式给出了其操作数的存储大小。<br /> sizeof操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void类型等。<br /> 2.sizeof的结果:sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。<b转载 2010-10-19 21:03:00 · 470 阅读 · 0 评论 -
std:string、char *和char []的问题解答
<br />string str_s = "abc";<br />char *str_cp = "abc";<br />char str_ca[] = "abc";<br /><br />1. str_cp是指针,指向一段数据有四个元素,分别是'a', 'b', 'c', '/0'。<br /><br />2. str_ca是数组,它包含四个元素,分别是'a', 'b', 'c', '/0'。引用: 我知道*str_cp的"abc"多了一个'/0'<br /><br />这个说法不正确。数组str_ca也转载 2010-10-20 15:36:00 · 927 阅读 · 0 评论