摘要:
使用 cout 显示WCHAR发现,并不能正确显示,如下面: Code intmain() { usingnamespacestd; WCHARwc[3]={L'W',L'I',L'\0'}; cout<<wc; 显示结果为0012FE3。 初步分析是cout并没有实现对WCHAR的重载。google后得到信息,使用wcstombs()函可以把WCHAR转化... 阅读全文
摘要:
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息, 然后通过调用 abort 来终止程序运行。 请看下面的程序清单badptr.c: Code hig... 阅读全文
摘要:
offsetof(s,m)解析 今天看代码时,发现一个有用的东东,offsetof(s,m),这是一个宏,定义如下: #define offsetof(s,m) (size_t)&(((s *)0)->m) 然后到网上查了一下,发现还真的是很有用,附带一位大侠的解说: Code highlighting produced by Actipro CodeHighlighter (f... 阅读全文
摘要:
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。 3.1 static_cast 用法:static_cast ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类和子类之间指针... 阅读全文
摘要:
Author:Jeffrey 在制定ANSI C标准时,引入了pragma提示符,这个指示符来自Ada。#pragma用于向编译器提示一些信息,诸如把某个特定的函数扩展成内联,或者取消边界检查,它并非C所固有。 目录: (0) 前言 (1) #pragma message能够在编译信息输出窗口中输出相应的信息 (2) #pragma code_seg能够设置程序中函数代码存放的代... 阅读全文