C/C++
文章平均质量分 54
cppyin
这个作者很懒,什么都没留下…
展开
-
#include到底该写在哪
1. 大学学C/C++的时候,大家写.h文件的时候,发现有符号这个文件里没有,就会#include相关的头一下;写.cpp文件的时候,发现有符号这个文件里没有也会#include一下,一直没有出什么问题。2. 再晚些知道了#include是预编译,就是copy一个文件的全部内容到当前#include语句的位置而已,而编译器根本不去编译.h,以及他里面到底是啥。然后隔了很久没用C/C++做很较复杂的程序,直到今天……封装整个DirectDrawManager的时候,我SB了。我想:“反正.h不去编译,我就把.原创 2011-01-06 18:46:00 · 6668 阅读 · 2 评论 -
C++对某些特性的贬斥
0. 问题的引入一直觉得我的3DLIB里面的.h文件的这段代码很别扭:namespace _CPPYIN_3DLib{ // 全局变量 static IDirect3DDevice9* pDevice = 0; static IDirect3DSurface9* pSurface = 0; static D3DLOCKED_RECT lockedRect; // 函数声明 bool Init3DLib(HINSTANCE hInstance, HWND hWnd, int w原创 2011-02-06 10:58:00 · 3721 阅读 · 3 评论 -
Effective C++ 学习笔记(1) : 语言联邦、弱化预编译器、const、初始化
来源:Effective C++ P11 ~ P23级别:200C++没有绝对适当的语言用法注意:C++是一个四大语言联邦国:C、Object-Oriented C++、Template C++、STL。const double AspectRatio = 1.653;注意:常量问题上多用编译器而少用预处理器。预处理会额外增加debug时追踪变量的时间、使程序变胖。除非编译老到对const的处理有额外内存开销,否则没必要定义宏常量。class GamePlayer { static const int Nu原创 2011-03-07 21:51:00 · 3148 阅读 · 0 评论 -
C++运算符优先级列表收藏备查
C++运算符优先级列表收藏备查转载 2011-02-19 10:43:00 · 3178 阅读 · 0 评论 -
C++ Primer 学习笔记(1) : 基本语言
来源:C++Primer P1 ~ P49级别:100std::endl注意:效果不仅仅是换行,还会刷新缓冲区,以便立即看到结果。在debug过程中的log应该每句都用endl刷新缓冲区,避免因崩溃导致的缓冲区信息丢失,造成调试误导。MS-DOS窗口中输入Ctrl+Z来输入文件结束符注意:在一些简短的小测试程序中,经常会用while (std::cin >> value)来获取输入,这时按回车并不会导致退出循环,按Ctrl+Z则可以达到目的。true和false注意:任何非0值都代表true。0值代表fal原创 2011-03-07 20:32:00 · 2996 阅读 · 0 评论 -
C++ Primer 学习笔记(2) : 基本语言2
来源:C++ Primer P49 ~ 67级别:100const int i, j = 0;注意:常量在定义时必须初始化。extern const int bufsize = 100;注意:在全局作用域声明的const变量默认为文件内部对象,在加上extern后,可以跨编译单元访问。int & refval = ival;注意:非const引用初始化后,一直绑定到该对象。且类型必须与绑定对象相同。double dval = 1.1;const int &ri = dval;注意:const引用可以绑定到不原创 2011-03-07 21:15:00 · 3425 阅读 · 0 评论