- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 混沌 IN C++::Template Metaprograms
难度: 文前说明:文中涉及到的观点并不是要求你去遵循它,而本文只相当于一篇“科普文章”。其中的关于template的语法在这里就不过多介绍了。例如,下文中提到的条件,都是要意识到是编译期常量。 C++ template 为我们提供了编译期计算的功能。编译器在处理template时,实际上相当于一个解释器的作用。充分利用template可以提高代码的运行速度,可以降低代码维护的复杂度,还可以为代
2004-06-29 05:28:00
5850
29
原创 混沌 IN C++::模板参数的奥秘
难度: 先来一道思考题 templatetypename T, T* p> struct A {}; 假若有个int类型的对象i,那么对于下面这段代码 Aint, &i> obj; 这个是合法的吗? 答: Aint, &i> obj; 可能合法 或 可能不合法。 什么东西可以当作模板的参数呢? 部分的内建类型和用户类型,和部分非类型的东西也可以当作模板参数。 非类型模板参数的一个要
2004-06-29 05:26:00
6305
14
原创 混沌 IN C++::动态资源管理陷阱
难度: 先阅读下面的代码然后来解答下面的那个问题 struct A {}; int main() { A *p = new A; p->~A(); free(p); } 问题:new/delete 和 malloc/free 有哪些区别? 答:new/delete 会在分配的内存上调用对象的构造函数和析构函数来初始化和销毁对象,而 malloc/free 却不能。更重要的
2004-06-29 05:25:00
6167
17
原创 混沌 In C++::是类型?还是函数调用?
难度:文前提醒:看这篇文章时须家长陪同并引导,以免走火入魔 先看看下面的代码? struct A{ A(){}}; templatetypename T>void func(T() ){} int main(){ A a( A() ); //(1), OK func( A() ); //(2), W
2004-06-29 05:22:00
20017
107
Nana Demo(FreeMe, CodeShow)
2009-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人