源自网络,只是整理一下
(form http://zhidao.baidu.com/question/62576866.html,)
C++ primer
Thinking in C++
Effective C++
More Effective C++
Exceptional C++
More Exceptional C++
Effective STL
Accelerated C++
大规模C++程序设计
Inside the C++ Object Model (深入C++对象模型)
STL源码剖析
泛型编程与STL
the c++ standard library
c++ template:the complete guid/ C++模板全览/ c++模板中文版
modern c++ design
exeptional c++ style
generic programming and the stl
google c++ style guid
NOTE:
- void Foo(const string &in, string *out);//the input parameter should be labeled const, and make the output parameter as pointer.
- We do not allow default function parameters, except in a few uncommon situations explained below.
- Friends should usually be defined in the same file
We do not use C++ exceptions.We do not use RTTIDo not use RTTI, except in unittests. If you need to know the type of an object at runtime, that is often an indication that you should reconsider the design of your class.
书籍 http://code.google.com/p/the9tdclib/wiki/BookList
----------------------------文章------------------------------------------
在你的代码中使用Boost智能指针(1)
在你的代码中使用Boost智能指针(2)
内存对齐的规则以及作用
c++ 自由存储
C++ 0x 之左值与右值、右值引用、移动语义、传导模板
C++ traits
Allocator : CodeGuru: Allocators (STL).
"C++ Standard Allocator, An Introduction and Implementation"
A custom allocator implementation based on malloc
标准库 STL :Allocator能做什么?
彻底学习STL中的Allocator
----------------------------------------------------------------------
算法题:http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html?69687
常用算法
http://linghongli.iteye.com/blog/629791
http://blog.sina.com.cn/s/blog_61bebe480100v7c7.html
http://blog.chinaunix.net/uid-21592001-id-3221516.html
http://baike.baidu.com/view/297739.htm?fr=aladdin
C++算法之——常用算法总结 http://blog.sina.com.cn/s/blog_61bebe480100v7c7.html
------------------------------------
{
scenebox.grow(obj->bounds);
}
BoundBox mergeBBox2(BoundBox scenebox, const ccl::Object* obj)
{
scenebox.grow(obj->bounds);
return scenebox;
}
static float3 getSceneCenter()
{
std::vector<ccl::Object*> objs = options.session->scene->objects;
BoundBox scenebox;
std::for_each(objs.begin(), objs.end(), boost::bind(&mergeBBox, scenebox, _1));
std::accumulate(objs.begin(), objs.end(), scenebox, mergeBBox2 );
}
面试c++基础不过关,血的教训。
--是为记