摘要:
vs2008下安装boost 1.下载boost_1_34_1压缩文件,解压缩到d:\boost_1_34_1\目录下 2.编译bjam 从vs2008的工具菜单进入命令提示窗口"Visual Studio 2008 Command Prompt"(一定要从这进),cd到c:\boost_1_34_1\tools\jam\src下执行build.bat,会在c:\boos... 阅读全文
摘要:
注:以下内容部分引自CSND中相关讨论的帖子,并结合自己的理解整理而成。仅供参考。 1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数. 2)C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制,数据类型等);所以,C 语言内核开发出来之后,Dennis Ritchie ... 阅读全文
摘要:
static_cast:强制类型转换cast。因此,当然可以用于有继承关系的类之间的cast,细分有三类: upcast:Just same as dynamic_cast. 由于不用做runtime类型检查,效率比dynamic_cast高; downcast:不安全得很。不建议使用。 crosscast:不能用。带来编译错误。 dynamic_cast:有继承关系的类之间的cast。非常安全... 阅读全文
摘要:
Shell Shell是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。为什么我们说 shell 是一种介于系统核心程序与使用者间的中介者呢?读过操作系统概论的读者们都知道操作系统是一个系统资源的管理者与分配者,当您有需求时,您得向系统提出;从操作系统的角度来看,它也必须防止使用者因为错误的操作而造成系统的伤害?众所周知,对计算机下命... 阅读全文
摘要:
[转载自: http://www.cppblog.com/szhoftuncun/archive/2007/10/31/35356.html] #pragma once与 #ifndef的区别 Specifies that the file will be included (opened) only once by the compiler when compiling a source co... 阅读全文
摘要:
C和C++对函数的处理方式是不同的.extern "C"是使C++能够调用C写作的库文件的一个手段,如果要对编译器提示使用C的方式来处理函数的话,那么就要使用extern "C"来说明。 时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus ... 阅读全文
摘要:
强制类型转换,其最根本的是什么了?我们可以这样理解: 某块内存中的数据是不变的,而类型就是我们戴上的眼镜,当我们戴上一种眼镜后,我们就会用对应的类型来解释内存中的数据,这样不同的解释就得到了不同的信息。 所谓强制类型转换实际上就是换上另一副眼镜后再来看同样的那块内存数据。 例如: 阅读全文
摘要:
[摘自:http://www.cnblogs.com/omygod/archive/2006/11/08/554601.html] C++将内存划分为三个逻辑区域:堆、栈和静态存储区。既然如此,我称位于它们之中的对象分别为堆对象,栈对象以及静态对象。 三种内存对象的比较 栈对象的优势是在适当的时候自动生成,又在适当的时候自动销毁,不需要程序员操心;而且栈对象的创建速度一般较堆对象快,... 阅读全文
摘要:
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于ma... 阅读全文
摘要:
阅读全文