我眼中的C++难点(转)---smart pointer
1、smart pointer是何方神圣? smart pointer,嗯,一个好东东,不过它的中文名到底叫什么至今还是很混乱,有人叫“聪明指针”,有人则称之为“灵巧指针”,还有人说成“智能指针”,都不太准确。不过话又说回来就连smart pointer也不是名副其实,因为他并不是一个指针,而是一个特殊的类,不过他能够模仿C++中的指针,所以大家也就稀里糊涂地称之为指针了。这里,我们就不翻译了,还叫:smart pointer。2、smart pointer如何使自己变成一个指针样子的? 要使smart pointer伪装成一个指针,有两个条件必不可少: 1、smart pointer必
我眼中的C++难点(转)---macro
说到宏,恐怕大家都能说出点东西来:一种预处理,没有分号(真的吗?)。然后呢?嗯.......茫然中......好吧,我们就从这开始说起。最常见的宏恐怕是#include了,其次就是#define还有.......还是从宏的用途分类吧:1、#include 主要用于包含引用文件,至今其地位无人能替代;2、注释掉代码。例如:#if 0.......#endif;这种机制是目前注释掉代码的最佳选择,为摩托罗拉公司员工所普遍采用;3、代码版本管理。例如:#ifdef DEBUG//调试版本#else//非调试版本#endif;4、声明宏。例如:#define DECLARE_MESSAGE(x) x();~x() //有没有分号?哈哈
我眼中的C++难点(转)---inline
(1)什么是内联函数? 内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。(2)为什么要引入内联函数? 当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。 另外,前面我们讲到了宏,里面有这么一个例子: #define ABS(x) ((x)>0? (x):-(x)) 当++i出现时,宏就会歪曲我们的意思,换句话说就是:宏的定义很容易产生二意性。 我们可以看到宏有一些难以避免的问题,怎么解决呢?前面我们已经尽力替换了。 下面我们用内联函数来解决这些问题。(3)为什么inline能取代宏?
我眼中的C++难点(转)---const
1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。3、cons有什么主要的作用? (1)可以定义const常量,具有不可变性。 例如: const int Max=100; int Array[Max]; (2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。 例如: void f(const int i) { .....
tuxedo常用命令
tuxedo常用命令:tmboot -s/-ytmshutdownw -s/-ypsrpcltpsc ipcs -s ipcs -mipcrm -sipcrm -m[@more@]
学习ORACLE数据文件移动、改名的两种方式:
1. ALTER database方法>shutdown normal;$>mv /dev/dbvg01/a.dbf /dev/dbvg02/b.dbf>startup mount tb_sys;>alter DATABASE RENAME FILE '/dev/dbvg01/a.dbf' TO '/dev/dbvg02/b.dbf';>alter DATABASE OPEN;2. ALTER tablespace方法>alter tablespace tb_sys OFFLINE;$>mv /dev/dbvg01/a.dbf /dev/dbvg02/b.dbf>alter tablespace tb_sys RENAME FILE '/dev/dbvg01/a.dbf' TO '/dev/dbvg02/b.dbf';>alter tablespace tb_sys ONLINE;注: 移动日志文件与数据文件类似,但移动控制文件是在关闭数据库后修改initSI