摘要:
C++中单参数构造函数若不声明为explict,在合适的场合可以产生隐式转换:由成员变量类型转换为类类型。 下面的代码展示如何实现反向的转换:[代码] 另外,两个或更多参数的non-explicit构造函数,如果所有形参都提供了默认实参,那么在需要一个类类型对象的表达式位置,提供一个first形参类型的对象,编译器也执行隐式转换,转换得到一个类对象。 如,构造函数Rational(int n... 阅读全文
摘要:
常用的资源有:内存、文件描述器(file descriptor)、互斥锁(mutex locks)、图形界面中的字体和笔刷、数据库连接、以及网络sockets。这些资源一般动态创建和分配,也就是一个指针。不论哪一种资源,重要的是,当你不再使用时,必须将它还给系统。条款13:以对象管理资源 把资源放进对象里,我们便可以依赖C++的 析构函数 自动调用机制,确保资源被释放。对象在作用域结束时,其析构... 阅读全文
摘要:
static 修饰全局变量 也就是static修饰的全局变量。作用域仅限于变量被定义的文件中,其他文件即使用 extern声明也没法使用它。static 修饰的函数 同静态全局变量,作用域仅限于方法定义的文件中。 函数前加 static使得函数成为静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件(所以又称内部函数)。使用内部函数... 阅读全文