-
C++ 11和C++98相比有哪些新特性
此文是如下博文的翻译:https://herbsutter.com/elements-of-modern-c-style/ C++11标准提供了许多有用的新特性。这篇文章特别针对使C++11和C++98相比看上去像一门新语言的特性,因为:C++11的这些特性改变了书写C++代码的风格和习惯,也改变了设计C++库的方式。例如,你会看...
作者:小编 日期:2026.06.22 分类:文档 1973 -
读书笔记 effective c++ Item 27 尽量少使用转型(casting)
C++设计的规则是用来保证使类型相关的错误不再可能出现。理论上来说,如果你的程序能够很干净的通过编译,它就不会尝试在任何对象上执行任何不安全或无意义的操作。这个保证很有价值,不要轻易放弃它。不幸的是,casts颠覆了类型系统。它导致了各种麻烦的出现,一些很容易识别,一些却很狡猾(不容易被识别)。如果你以前使用过C,java或者C#,...
作者:小编 日期:2026.06.22 分类:类库 204 -
夜间场景缺数据,如何进行语义分割?浙大提出基于GAN的高鲁棒夜间语义分割框架
作者 | BBuf 单位 | 北京鼎汉技术有限公司 算法工程师(CV) 编辑 | 唐里浙大提出一种新的方法,通过将GAN和SOAT分割框架结合,实现对夜间图像也具有鲁棒的分割效果。论文发表于2019年,地址为:https://arxiv.org/abs/1908.05868近年来,借助深度卷积神经网络(CNN),智能驾驶导航和安全监控取得了长足的进步。语义分割作为一种最先进的感知方法,在自动驾驶和安全监控中具有广泛的应用前景。当前,语义分割在标准场景(例如具有良好光照条件的白...
作者:小编 日期:2026.06.22 分类:教程 1688 -
读书笔记 effective c++ Item 26 尽量推迟变量的定义
1. 定义变量会引发构造和析构开销每当你定义一种类型的变量时:当控制流到达变量的定义点时,你引入了调用构造函数的开销,当离开变量的作用域之后,你引入了调用析构函数的开销。对未使用到的变量同样会产生开销,因此对这种定义要尽可能的避免。2. 普通函数中的变量定义推迟2.1 变量有可能不会被使用到的例子你可能会想你永远不会定义未使用的变量,...
作者:小编 日期:2026.06.22 分类:语言 1846 -
读书笔记 effective c++ Item 25 实现一个不抛出异常的swap
1. swap如此重要Swap是一个非常有趣的函数,最初作为STL的一部分来介绍,它已然变成了异常安全编程的中流砥柱(Item 29),也是在拷贝中应对自我赋值的一种普通机制(Item 11)。Swap非常有用,恰当的实现swap是非常重要的,与重要性伴随而来的是一些并发症。在这个条款中,我们将探索这些并发症以及如何处理它们。2. s...
作者:小编 日期:2026.06.22 分类:算法 661 -
读书笔记 effective c++ Item 24 如果函数的所有参数都需要类型转换,将其声明成非成员函数
1. 将需要隐式类型转换的函数声明为成员函数会出现问题使类支持隐式转换是一个坏的想法。当然也有例外的情况,最常见的一个例子就是数值类型。举个例子,如果你设计一个表示有理数的类,允许从整型到有理数的隐式转换应该是合理的。在C++内建类型中,从int转换到double也是再合理不过的了(比从double转换到int更加合理)。看下面的例子...
作者:小编 日期:2026.06.22 分类:工具 1820 -
读书笔记 effective c++ Item 23 宁可使用非成员非友元函数函数也不使用成员函数
1. 非成员非友元好还是成员函数好?想象一个表示web浏览器的类。这样一个类提供了清除下载缓存,清除URL访问历史,从系统中移除所有cookies等接口: 1 class WebBrowser { 2 3 public: 4 5 ... 6 7 void clearCache(); 8 9 void clearHistory...
作者:小编 日期:2026.06.22 分类:类库 300 -
读书笔记 effective c++ Item 22 将数据成员声明成private
我们首先看一下为什么数据成员不应该是public的,然后我们将会看到应用在public数据成员上的论证同样适用于protected成员。最后够得出结论:数据成员应该是private的。1. 为什么数据成员不能是public的?为什么数据成员不能够是public的?2.1 一致性让我们从句法的一致性开始(Item 18)。如果数据成员不...
作者:小编 日期:2026.06.22 分类:算法 833 -
读书笔记 effective c++ Item 21 当你必须返回一个对象的时候,不要尝试返回引用
1. 问题的提出:要求函数返回对象时,可以返回引用么?一旦程序员理解了按值传递有可能存在效率问题之后(Item 20),许多人都成了十字军战士,决心清除所有隐藏的按值传递所引起的开销。对纯净的按引用传递(不需要额外的构造或者析构)的追求丝毫没有懈怠,但他们的始终如一会产生致命的错误:它们开始传递指向并不存在的对象的引用。这可不是好事情...
作者:小编 日期:2026.06.22 分类:语言 460 -
读书笔记 effctive c++ Item 20 优先使用按const-引用传递(by-reference-to-const)而不是按值传递(by value)
1. 按值传递参数会有效率问题默认情况下,C++向函数传入或者从函数传出对象都是按值传递(pass by value)(从C继承过来的典型特性)。除非你指定其他方式,函数参数会用实际参数值的拷贝进行初始化,函数调用者会获得函数返回值的一份拷贝。这些拷贝由对象的拷贝构造函数生成。这使得按值传递(pass-by-value)变成一项昂贵的...
作者:小编 日期:2026.06.22 分类:手册 1447







