现在位置: 首页 > c++
#include <shlobj.h> wchar_t szPath[MAX_PATH]; ::SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, 0, szPath); 参数说明: CSIDL_FLAG_CREATE($8000) windows 2000:如果这个CSIDL所引用的文件夹不存在,则创建这个文件夹 CSIDL_FLAG_DONT_VERIFY($4000) WINDOWS 2000: 无论这个CSIDL所引用的文件夹是否存在都使用它! CSIDL_ADMINTOOLS($30) 表示当前用户的“管理工具”系统文件夹 CSIDL_ALTSTARTUP...
阅读全文
2012-06-08 21:14 工业·编程 ⁄ 共 235字 暂无评论
最常见的: typedef unsigned long size_t; size_t strlen(const char *str) {     size_t  len=0;     while(*str++!='/0')         len++;     return len; } 优化过后的: size_t strlen(const char *str) {    register const char *s;    for (s = str; *s; ++s);    r...
阅读全文
2012-06-07 21:10 工业·编程 ⁄ 共 1525字 暂无评论
    我们知道在用const修饰的类成员函数,这意味着什么,从effective c++这本书上我们可以了解到,这里存在两个流行的概念:bitwise constness(or physical constness)和logical constness.     bitwise const阵营的人相信,成员函数只有在不更改对象任何成员变量(static变量除外)时才可以说是const.也就是说它不能更改对象内的任何一个bit.然而我们不难发现有些例子能够通过bitwise 测试却存在...
阅读全文
2012-06-06 21:06 工业·编程 ⁄ 共 1046字 暂无评论
   在C++语言中有这样一个关键字explicit,也许你不经常用到它或者压根就根本就没有见过它,那这个关键字到底有什么作用呢?C++语言标准中为什么要将它作为一个关键字标准列入标准当中 呢?带着这些问题我们稍微地认识一下这个"家伙",呵呵.     我们先来看一段code:     class TestClass{     public:        ...
阅读全文
C-style cast举例: int i; double d; i = (int) d; 上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本身的值并没有发生改变)。这就是典型的c-style类型转换。 下面是一个简单的程序: #include <iostream> using namespace std; int main(void) {          int i;          double ...
阅读全文
(VC编译器下) 1. CALLBACK,WINAPI和AFXAPI到底是什么?它们分别在什么地方被定义的? 在头文件windef.h中,CALLBACK, WINAPI, APIENTRY …… #define CALLBACK    __stdcall #define WINAPI      __stdcall #define WINAPIV     __cdecl #define APIENTRY    WINAPI ……   在头文件AFXVER_.H中,AFXAPI的定义如下:     …… ...
阅读全文
2012-06-02 20:49 工业·编程 ⁄ 共 5223字 暂无评论
C/C++中的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类的问题。 A.      面向过程程序设计中的static关键字 1)      静态全局变量          在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。静态全局变量定义和使用类似:   &...
阅读全文
2012-06-01 20:43 工业·编程 ⁄ 共 1010字 暂无评论
    一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变 量的值(From Memory),而不是使用保存在寄存器里的备份。     下面是volatile变量的几个例子:     1) 并行设备的硬件寄存器(如:状态寄存器)     2) 一个中断服务子...
阅读全文
2012-05-09 07:20 工业·编程 ⁄ 共 2463字 评论 1 条
1、完整的学一遍 C++ 所有语言特性,典型书籍 "The C++ Programming Language" Part1, Part2, "C++ Primer"     感觉 C++ 像大杂烩(多编程范型),各种精妙的语法特性 (friend, virtual/RTTI, const/mutable, exception, template),太多精妙的东西容易导致记忆琐碎化,学了又忘了,尤其是那些很少用的部分     实践:编写一些带 class 和 virtual 字眼的所谓的 C++ 程序. ...
阅读全文
2012-05-06 07:00 工业·编程 ⁄ 共 2766字 评论 9 条
1、C和C++够笨,逼的程序员自己做很多事     C其实大家都知道,是一门中低级语言,保留了指针等汇编特征,与系统底层结合密切。C++呢,更多的向个Object C,即面向对象的C。但这些,其实并不能够让程序员显得很牛。我个人的理解,之所以C和C++程序员显得很牛,其实原因和大家想像的正好相反,不是因为C和C++太强大,而是这两门语言太弱智了。     C和C++,由于设计时,主要针对系统底层,操作系...
阅读全文