C++学习
blee_bupt
基础太差
展开
-
String a=new String("abc")产生几个对象?
产生三个对象:第一个是string a产生的第二个是string("abc")产生的第三个是赋值操作产生的,就是说静态池里创建了一个new String("abc")的拷贝,实际上是把静态池里的对象传给了a 。这就叫做写时拷贝。原创 2008-08-25 17:37:00 · 1831 阅读 · 0 评论 -
main函数的规范
从别人的里面学到了一点关于main的东西,先总结自己的心得,最后贴点原来的内容。心得> 在 c 和 c++ 的规范里面,main() 的返回值都是 int 的,void main() 只是在某些编译器里能够通过编译,而在大部分严格的编译器里面根本是不能通过编译的。因为我们习惯了使用vc6,而vc6恰恰就是不够严格的编译器之一,所以造成了 void main(原创 2008-08-28 15:40:00 · 745 阅读 · 0 评论 -
计算时间和空间复杂度
1> 时间复杂度指的是所有语句的执行频度之和,它一般由嵌套最深地语句频度决定. 比如单重循环就是O(n),双重循环就是O(n^2),依此类推……2>空间复杂度指的是运行时临时占用的存储空间大小. 主要是看运行程序时临时变量的数目和数据规模之间的关系。 注意,关于O(1)的问题!! O(1)是说数据规模和临时变量数目无原创 2008-09-01 15:20:00 · 1171 阅读 · 0 评论 -
静态链接 和 动态链接
说了好久的动态库,静态库,直到今天才弄明白到底这些东西是怎么回事。 需要注意的是三点:1. 对于库文件来说,只有一种,那就是 *.lib 库文件,在这个文件里面是未经编译的函数集合,不能直接用的。它需要和各种 .obj 这种中间的目标文件一起参加链接,最后生成可执行文件。这里的可执行文件可以是 exe , 也可以是 dll , 各种…… 这其实就叫做使用库文件。原创 2008-09-19 00:31:00 · 665 阅读 · 0 评论 -
atexit()函数
atexit()函数是在函数正常终止之前被调用执行的函数。而且执行顺序和调用顺序正好相反。原型: int atexit( void (*)(void) );在一个函数中最多可以用atexit注册32个函数。 #include #include #include int atexit( void (*function)(void) );void fn1(void), fn2(vo原创 2008-09-16 21:57:00 · 547 阅读 · 0 评论