会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
boydfd
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
下一页
2016年3月12日
对于大学4年的反思
摘要: 博客已经迁移到 "这里啦" 2017/05/31日更新: 一年多以后,再次对自己的生活进行了一次反思,这次的反思很沉痛: "看直播到底能得到什么" 原文: 写博客也一年多了,还没有写过什么总结方面的东西,前天在V2EX上面发了一个关于 "C++应届毕业生的疑惑" 的帖子,然后昨天晚上想了很多,所以突
阅读全文
posted @ 2016-03-12 11:08 boydfd
阅读(5473)
评论(31)
推荐(9)
2016年3月7日
item 24: 区分右值引用和universal引用
摘要: 本文翻译自《effective modern C++》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 古人曾说事情的真相会让你觉得很自在,但是在适当的情况下,一个良好的谎言同样能解放你。这个Item就是这样一个谎言。但是,因为我们在和软件打交道,所以让我们避
阅读全文
posted @ 2016-03-07 20:29 boydfd
阅读(1317)
评论(3)
推荐(1)
2016年2月5日
item 23: 理解std::move和std::forward
摘要: 本文翻译自《effective modern C++》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 根据std::move和std::forward不能做什么来熟悉它们是一个好办法。std::move没有move任何东西,std::forward没有转发任
阅读全文
posted @ 2016-02-05 10:08 boydfd
阅读(19439)
评论(1)
推荐(1)
2016年1月26日
Item 22: 当使用Pimpl机制时,在实现文件中给出特殊成员函数的实现
摘要: 本文翻译自《effective modern C++》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 如果你曾经同过久的编译时间斗争过,那么你肯定对Pimpl("point to implementation",指向实现)机制很熟悉了。这种技术让你把类的数据
阅读全文
posted @ 2016-01-26 17:33 boydfd
阅读(1262)
评论(0)
推荐(0)
2016年1月20日
Item 21: 比起直接使用new优先使用std::make_unique和std::make_shared
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 让我们先从std::make_unique和std::make_shared的对比开始吧。std::make_shared是C++11的部分,但是,不幸的是,s
阅读全文
posted @ 2016-01-20 20:20 boydfd
阅读(22934)
评论(1)
推荐(3)
2016年1月14日
Item 20: 使用std::weak_ptr替换会造成指针悬挂的类std::shared_ptr指针
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 矛盾的是,我们很容易就能创造出一个和std::shared_ptr类似的智能指针,但是,它们不参加被指向资源的共享所有权管理。换句话说,这是一个行为像std::
阅读全文
posted @ 2016-01-14 16:02 boydfd
阅读(2262)
评论(1)
推荐(0)
2016年1月13日
Item 19: 使用srd::shared_ptr来管理共享所有权的资源
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 使用带垃圾回收机制语言的程序员指出并嘲笑C++程序员需要遭受防止资源泄漏的痛苦。“多么原始啊”他们嘲笑道,“20世纪60年代的Lisp留下的备忘录你还不记得了吗
阅读全文
posted @ 2016-01-13 14:54 boydfd
阅读(2118)
评论(1)
推荐(0)
2015年12月17日
Item 18: 使用srd::unique_ptr来管理独占所有权的资源
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 当你需要一个智能指针的时候,std::unique_ptr通常是最接近你需求的那一个。默认情况下,这么假设是很合理的:std::unique_ptr和原始指针的
阅读全文
posted @ 2015-12-17 17:17 boydfd
阅读(2119)
评论(2)
推荐(2)
2015年12月16日
Item 17: 理解特殊成员函数的生成规则
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" C++的官方说法中,特殊成员函数是C++愿意去主动生成的。C++98有4个这样的函数:默认构造函数,析构函数,拷贝构造函数,拷贝operator=。当然,这里有
阅读全文
posted @ 2015-12-16 12:12 boydfd
阅读(1637)
评论(0)
推荐(0)
2015年12月13日
Item 16: 让const成员函数做到线程安全
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 如果我们在数学领域里工作,我们可能会发现用一个类来表示多项式会很方便。在这个类中,如果有一个函数能计算多选式的根(也就是,多项式等于0时,各个未知量的值)将变得
阅读全文
posted @ 2015-12-13 15:31 boydfd
阅读(2349)
评论(4)
推荐(1)
2015年12月12日
Item 15: 只要有可能,就使用constexpr
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 如果说C++11中有什么新东西能拿“最佳困惑奖”的话,那肯定是constexpr了。当把它用在对象上时,它本质上是const的加强版,但是把它用在函数上时,它将
阅读全文
posted @ 2015-12-12 15:33 boydfd
阅读(4358)
评论(1)
推荐(0)
2015年12月10日
Item 14: 如果函数不会抛出异常就把它们声明为noexcept
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 在C++98中,异常规范(exception specifications)是一个不稳定因素。你必须总结出一个函数可能会抛出的异常类型,所以如果函数的实现被修改
阅读全文
posted @ 2015-12-10 14:27 boydfd
阅读(2238)
评论(6)
推荐(1)
2015年12月5日
Item 13: 比起iterator优先使用const_iterator
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" STL中的const_iterator等价于pointers to const(指向const值的指针)。它们指向的值不能被修改。使用const的标准做法是,每
阅读全文
posted @ 2015-12-05 09:21 boydfd
阅读(1819)
评论(1)
推荐(0)
2015年12月4日
item 12: 把重写函数声明为“override”的
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" C++中的面向对象编程总是围绕着类,继承,以及虚函数。这个世界中,最基础的概念就是,对于一个虚函数,用派生类中的实现来重写在基类中的实现。但是,这是令人沮丧的,
阅读全文
posted @ 2015-12-04 07:34 boydfd
阅读(3996)
评论(0)
推荐(2)
2015年12月2日
item 11: 比起private undefined function优先使用deleted function
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 如果你为其他开发者提供代码,并且你想阻止他们调用一个特定的函数,你通常不会声明这个函数。函数不声明,函数就不会被调用。太简单了!但是有时候C++会帮你声明函数,
阅读全文
posted @ 2015-12-02 16:14 boydfd
阅读(1001)
评论(3)
推荐(0)
2015年11月30日
item 10: 比起unscoped enum更偏爱scoped enum
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 一般情况下,在花括号中声明一个name(包括变量名,函数名),这个name的可见性会被限制在花括号的作用域内。对于在C++98风格的enum中声明的enum成员
阅读全文
posted @ 2015-11-30 17:22 boydfd
阅读(1866)
评论(0)
推荐(0)
2015年11月25日
Item 9: 比起typedef更偏爱别名声明(alias declaration)
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 我确信我们都同意使用STL容器是一个好主意,并且我希望在 Item 18 中能让你相信使用 std::unique_ptr 也是一个好主意,但是我猜想,我们中没
阅读全文
posted @ 2015-11-25 18:38 boydfd
阅读(2306)
评论(1)
推荐(1)
2015年11月23日
item 8: 比起0和NULL更偏爱nullptr
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 先让我们看一些概念:字面上的 0 是一个 int ,不是一个指针。如果C++发现 0 在上下文中只能被用作指针,它会勉强把 0 解释为一个null指针,但这只是
阅读全文
posted @ 2015-11-23 18:51 boydfd
阅读(1263)
评论(6)
推荐(0)
2015年11月20日
item 7:当创建对象的时候,区分()和{}的使用
摘要: 本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" 从不同的角度来看,在C++11中,对象初始化拥有多种语法选择,这体现了语法丰富造成的尴尬或者烂摊子。一般情况下,初始化的值可以用圆括号,等号,花括号来确定: i
阅读全文
posted @ 2015-11-20 17:22 boydfd
阅读(6570)
评论(7)
推荐(3)
2015年11月17日
item 6: 当auto推导出一个不想要的类型时,使用显式类型初始化的语法
摘要: 本文翻译自《effective modern C++》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 博客已经迁移到 "这里啦" Item 5解释了比起显式指定类型,使用auto来声明变量提供了大量技术上的优点,但是有时候auto的类型推导出zigs(这个类型),但是你想要的是zag(
阅读全文
posted @ 2015-11-17 06:54 boydfd
阅读(1281)
评论(2)
推荐(0)
上一页
1
2
3
4
5
6
下一页
公告