易截截图软件、单文件、免安装、纯绿色、仅160KB

C和C++的点滴积累(1)

                     C和C++的点滴积累(1)
1. mfc 编程中存在着如果出现“内存不足”的对话框,一种情况是在申请内存的时候出现问题,也就是例如:char *pChar = new char[num]; 但此时num 为零或者负数的情况。
2 .位运算只是用于char 和int 两种类型,不适用于double,float,long double,void 类型。
3.    移位操作,在移位后数值小于256 的范围内,向左移动移位则是乘2 ,向右移动一位则是除2
B = a<<2  当a*4 >256 的时候,B = a*4 – 256; 当 a*4<256 的时候,B = a*4;
 
4.      string 类使用的方法
(1)       首先引用头文件#include <string>
        (2)    在使用string 的时候使用命名空间std ;或者声明using namespace std;
5. 在VC 当中,如果是某一个工程需要被导出供其它工程使用,需要加导出标准__declspec(dllExport). 如果不添加上述标志符,便不能导出,其他工程便不能使用。如果是本工程需要使用其它工程中的内容,需要加上__declspec(dllImport). 虽然面对一般函数和静态函数不加标志符可以通过,但是面对静态变量的时候便会出现连接错误。
6. Struct 内部的成员和全局变量当名字相同的时候,不会产生冲突!
7.      在VC 下面进行编译的过程中,先要生成中间文件,在中间文件的基础上生成可执行或者是库文件。
 
8.深拷贝和浅拷贝的问题:区别是你传递的是地址还是值,如果传递的是地址的话便是浅拷贝,传递的是值的话便是深拷贝。浅拷贝的时候当变量是NEW 出来在进行删除的时候一定要注意。
 
9. 使用 Malloc\Free 和 New\delete 的不同:
     在生成对象的时候,通过 Malloc 生成的,还必须要调用构造函数才可以进行初始化,删除的时候,先是调用析构函数,再 Free ()掉( free 不能执行析构函数,而可能造成一些问题的存在 )。而 New 后,系统自己调用构造、析构函数,不用在进行调用,只需要 Delete 即可。 在删除数组的时候, delete [] pData; 而不是 Delete pData ;否则删除的仅仅是第一个元素。
 
1)  分配没有成功。却使用它


相关文档:

S3C24XX体系的Linux GPIO控制相关API实现


GPIO(General Purpose Input/Output的缩写)就是芯片的引脚,引脚是可编程的可对引脚的工作模式进行设置:输入模式(检测输入信号),输出模式(输出0或1),高阻状态(常用于AD转换),还有禁止或允许上内部下拉电阻(上拉:管脚通过电阻接高电平,下拉:管脚通过电阻接地,也可以外部接上拉或下拉电阻),还有管脚复用等功能, ......

VC++与Java

VC++与Java
Visual C++ 6.0是微软非常经典的调试工具,本人非常喜欢。不知不觉学了MFC,花了不少时间与银子,感觉MFC真的是博大精深,就像一种非常高深的武功,就像太极,入门难。java像武当。Visual C++需要比较深厚的内功才能修炼好,不过java学好了也不错,不管学哪个,最终的境界都是刚柔相济。武功如此,编程语言开发 ......

浅谈C/C++内存泄漏及其检测工具

  对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中 ......

简述C和C++的学习历程(转肖舸老师)

总是被同学们问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复。
一家之言,欢迎拍砖哈。
1、可以考虑先学习C。
大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个有用的程序员,做一个赚钱的程序员。我们的价值,将体现在客户价值上,而不 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号