C/C++
文章平均质量分 51
北宫慕容
自己的学习笔记
展开
-
C/C++基本类型内存表示
我们都知道,C/C++这种高级编程语言,在编译执行的时候,最底层都是二进制的数据,即0/1组合。那么我们来看一下具体是怎么 表示的:首先,常用的基本类型占用的字节数:bool 1byte(BOOL 4bytes ,其实际上是int型)char 1byteshort 2int 2~4不等,视操作系统而定,一般是4byteslong 4 long long 8(个原创 2012-12-24 23:19:18 · 525 阅读 · 0 评论 -
C/C++之预处理和sizeof
一、宏定义注意事项:1.不能用分号结束 2,注意使用括号例如:定义宏MIN 返回两个数中较小的一个#define MIN(A,B) ((A) 二、const作用:1.定义常量 2.修饰函数参数或者返回值,其修饰的值受到强制保护,防止意外变动,提高程序健壮性。在类里面。用mutable修饰数据成员,修饰为原创 2012-12-25 15:45:28 · 768 阅读 · 0 评论 -
C++之类成员初始化
保证所有对象在使用前都已经初始化(1)特别是自定义类的初始化,一般用带参数的构造函数,而不是用赋值运算符,那样效率不高,那样的话会先调用默认构造函数,然后再用赋值运算。成员初值列,member initialization list,,总是使用成员初值列进行初始化注意:(1)手工初始化内置型对象(2)使用成员初始列处理对象的所有成分(3)在初始化次序不确定性时,转变设计思路原创 2013-06-09 15:46:09 · 476 阅读 · 0 评论 -
C++字符编码转换
UTF-8: 3字节一个字符UNICODE: 2字节一个字符GB2312: 1字节一个字符例子:“你”字的UTF-8编码: E4 BD A0 11100100 10111101 10100000“你”的Unicode编码: 4F 60 01001111 01100000按照UTF-8的编码规则,分解如下:xxxx0100 xx1111转载 2013-05-31 23:39:46 · 500 阅读 · 0 评论 -
C++之预编译
1.不想编译某段代码。或者 因为有注释包含的情况,可以使用条件编译#if 0......#endif2.宏定义#word是把word转变成字符串对待3.头文件。为了避免重复包含头文件的情况,。节省开支,可以使用头文件的内部卫哨和外部卫哨。#ifndef XXXX#define XXXX。。#endif4.不要用宏定义新类型原创 2013-06-09 15:45:06 · 457 阅读 · 0 评论 -
vector内存
vector是一个非常好用的东西。不过有些事还是要注意的。vector的clear()并不释放内存。只是清空其里面的数据而已,vector如果不主动释放的话只会增不会减。释放内存一般用swap方法。内存的问题不容忽视。其问题可能是累加的,一旦出现就是大问题,有个哥们写的程序运行了七个月崩溃了,找了一年,最后发现是vector的问题。用法还是得严谨起来。加油!原创 2013-06-03 20:00:52 · 540 阅读 · 0 评论 -
字符类型转换 CString char string
CString 头文件#include string 头文件#include CString 转char *CString cstr;char *p = (LPSTR)(LPCTSTR)cstr;string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString.format(”%s”转载 2013-06-24 16:09:48 · 700 阅读 · 0 评论