摘要: 1.在函数形参传递参数时,一般可以传递指针或者引用;这样可以减少copy构造函数;如果不希望对象被改变,那就传递cosnt A&a吧;里面讨论了对于内置类型,有人建议用传值,但作者却坚持用引用,利用是:将来这个东西可能会膨胀;嗯,是的,有道理。另外传值的时候,有对象切割的危险,其实就是子类转化为父类的时候,子类的东西有可能被切掉,不会再有所谓的多态性;谁让你不传引用或指针呢?作者在之后详细论述了原因,当然我google了下,之前没怎么注意这个问题。2.对于STL的容器,比如std::string a ;我常看到的还是引用传参,该避免就避免呗。 阅读全文
posted @ 2012-10-22 23:43 hailong 阅读(266) 评论(0) 推荐(0)
摘要: 线程安全:一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。我们定义四类(有相交的)线程不安全函数。第1类:不保护共享变量的函数将这类线程不安全函数变为线程安全的,相对比较容易:利用像P和V操作这样的同步操作来保护共享变量。这个方法的优点是在调用程序中不需要做任何修改,缺点是同步操作将减慢程序的执行时间。第2类:保持跨越多个调用的状态函数一个伪随机数生成器是这类不安全函数的简单例子。unsigned int next = 1; int rand(voi 阅读全文
posted @ 2012-10-22 20:44 hailong 阅读(7932) 评论(0) 推荐(0)