随笔分类 - C/C++
摘要:转自:http://qimo601.iteye.com/blog/1430172
阅读全文
摘要:模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 一、
阅读全文
摘要:时常看到别人的头文件中,有这样的代码: 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入extern "C"{,和 }处理其中的代码。 要明白为何使用exter
阅读全文
摘要:#ifndef 是"if not defined"的简写,是预处理功能(宏定义、文件包含、条件编译)当中的条件编译,可以根据是否已经定义了一个变量来进行分支选择,其作用是: 1、防止头文件的重复包含和编译; 2、便于程序的调试和移植; 下面分别举例描述。 一、防止头文件的重复包含和编译 下面是错误示
阅读全文
摘要:比如: 1 class Base 2 { 3 Base() {}; 4 ~Base() {}; 5 virtual void Init(); 6 }; 7 8 class Derived:public Base 9 { 10 virtual void Init();//virtual是必须的吗? 1
阅读全文
摘要:或许,有人真的会这样写程序吧。。。所以才会碰到如下哥们提出的问题。 https://zhidao.baidu.com/question/131426210.html 出现这种问题的原因链接中的最佳答案说得很清楚了,也确实是这样,所以在.h文件中最好不要涉及全局变量,这样容易在#include的时候出
阅读全文
摘要:利用关键字extern,可以在一个文件中引用另一个文件中定义的变量或者函数,下面就结合具体的实例,分类说明一下。 一、引用同一个文件中的变量 1 #include<stdio.h> 2 3 int func(); 4 5 int main() 6 { 7 func(); //1 8 printf("
阅读全文
摘要:“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间
阅读全文
摘要:assert assert是一个预处理宏,由预处理器管理而非编译器管理,所以使用时都不用命名空间声明,如果你写成std::assert反而是错的。使用assert需要包含cassert或assert.h,用法如下: assert主要用途是:用于调试,检测一些不应该出现的情况。如果expr为假(即为0
阅读全文
摘要:由于我看到的文章也是转载且未提供原文链接,所以这里没有提供原文链接! msvcrt.dll(名称:Microsoft C Runtime Library)提供了printf,malloc,strcpy等C语言库函数,并且为使用C/C++(VC)编译的程序提供了初始化(如获取命令行参数)以及退出等功能
阅读全文
摘要:我们在C++的开发中经常会碰到string、char*以及CString,这三种都表示字符串类型,有很多相似又不同的地方,常常让人混淆。下面详细介绍这三者的区别、联系和转换: 各自的区别 char*: char*是一个指向字符的指针,是一个内置类型。可以指向一个字符,也可以表示字符数组的首地址(首字
阅读全文
摘要:多字节字符与宽字节字符 1) char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char、wchar_t。 char叫多字节字符,一个char占一个字节,之所以叫多字节字符是因为它表示一个字时可能是一个字节也可能是多个字节。一个英文字符(如’s’)用一个char(一个字节)表示
阅读全文
摘要:首先明白以下两点: 1、类的一个特征就是封装,public和private作用就是实现这一目的。 即:用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和友元访问。 2、类的另一个特征就是继承,protected的作用就是实现这一目的。 即:
阅读全文
摘要:1、this指针的用处 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即时你没有写上this指针,编译器在编译的时候也是加
阅读全文
摘要:一、字符指针可以指向一个字符串。 我们可以用字符串常量对字符指针进行初始化。例如,有说明语句: 是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。 这里要注意字符指针与字符数组之间的区别。例如,有说明语句: 此时,string是字符数组,它存放了一个字符串。
阅读全文
摘要:1、类成员为const类型 2、类成员为引用类型 运行结果: 究其因 const对象或引用只能初始化但是不能赋值。构造函数的函数体内只能赋值而不是初始化,因此初始化const对象或引用的唯一机会是构造函数函数体之前的初始化列表中。 从无到有叫初始化,初始化(调用拷贝构造函数)创建了新对象;赋值(调用
阅读全文
摘要:1、普通函数 2、友元函数 3、内联函数(编译期间展开,虚函数是在运行期间绑定) 4、构造函数 5、静态成员函数(只有一份大家共享)
阅读全文
摘要:查找文件需要一个结构体和几个函数。结构体为struct _finddata_t,函数为_findfirst、findnext和_findclose。 struct _finddata_t 这个结构体是用来存储文件各种信息的。定义如下: 其中各成员变量的含义如下: unsigned attrib: 文
阅读全文
摘要:需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明。 URLDownloadToFile()函数的定义如下: Parameters(参数含义): pCaller Pointer to the controlling IUnknown interface o
阅读全文

浙公网安备 33010602011771号