父类应实现虚析构函数,避免子类指针交给父类进行释放时,子类内存泄露
1 sizeof 后跟字符串,返回长度+1 字符串最后多出一个0
2 sscanf() - 从一个字符串中读进与指定格式相符的数据。
sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。
charbuf[512];
sscanf
(
"123456"
,
"%s"
,buf);
//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!
printf
(
"%s\n"
,buf);
%s 遇空格终止
3 ostringstream
Output stream class to operate on strings.
Objects of this class use a string buffer that contains a sequence of characters. This sequence of characters can be accessed directly asa string object, using member str.
将数据转成字符串
unsigned long long a = 123456789987654321;
std::ostringstreamos;
os << a;
std::stringstr;
str = os.str();
4 istringstream 相反 取数据以空格或换行分割。
5 模板类中 vc 头文件和cpp 分离方式 ,vc9 不支持分离,详见 http://blog.csdn.net/bamboopot/article/details/6556277
6 虚析构函数的使用原则:当用一个基类的指针删除一个派生类的对象时,基类的析构函数声明为虚函数,派生类的析构函数会被调用。
6 static_assert c++ 11 新特性 static_assert(false,"missing mutex guard var name"),如果这个表达式的值为false,那么编译器会出现一个包含特定字符串的错误。举例用法:
#define MutexLockGuard(x) static_assert(false,"missing mutex guard var name") 如果定义MutexLockGuard(mutex) 则编译阶段就会出错,并提示missing....错误。
应定义成 MutexLockGuard lock (mutex)
7 c语言中无法返回数组 如char [] backCharArray()
参数中传入数组,编译器当做指针处理,可传数组大小,可不传,仅当指针处理。sizeof 获取的值非数组大小!
8 c语言c中引用多个静态变量,则在编译时会为每个c文件中的静态变量分配一个空间!