小编Hea*_*eek的帖子

C++:"std :: endl"vs"\n"

许多C++书籍都包含这样的示例代码......

std::cout << "Test line" << std::endl;
Run Code Online (Sandbox Code Playgroud)

......所以我也一直这样做.但我已经看到很多来自像这样的开发人员的代码:

std::cout << "Test line\n";
Run Code Online (Sandbox Code Playgroud)

是否有技术上的理由偏爱另一个,或者仅仅是编码风格的问题?

c++ iostream coding-style c++-faq

530
推荐指数
10
解决办法
18万
查看次数

未命名/匿名命名空间与静态函数

C++的一个特性是能够创建未命名(匿名)命名空间,如下所示:

namespace {
    int cannotAccessOutsideThisFile() { ... }
} // namespace
Run Code Online (Sandbox Code Playgroud)

您会认为这样的功能是无用的 - 因为您无法指定命名空间的名称,所以无法从外部访问其中的任何内容.但是这些未命名命名空间可以在它们创建的文件访问,就好像你有一个隐含的using子句.

我的问题是,为什么或何时使用静态函数会更好?或者他们基本上是两种做同样事情的方式?

c++ namespaces

486
推荐指数
8
解决办法
20万
查看次数

"放置新"有什么用途?

有没有人曾经使用过C++的"贴牌新品"?如果是这样,那该怎么办?在我看来,它只对内存映射硬件有用.

c++ memory-management placement-new new-operator

385
推荐指数
18
解决办法
16万
查看次数

如何禁用Pylint警告?

我试图禁用警告C0321("在单行上多个语句" - 我经常if在同一行上放置短单行结果的语句),在Pylint 0.21.1中(如果重要的话:到0.20. 1,常见的0.50.3,Python 2.6.6(r266:84292,2010年9月15日,16:22:56)).

我已经尝试添加disable=C0321Pylint配置文件,但Pylint仍坚持报告它.该行的变化(如disable=0321disable=C321)被标记为错误,因此Pylint 确实正确识别该选项,它只是忽略它.

这是一个Pylint错误,还是我做错了什么?有没有办法解决?我真的想摆脱一些噪音.

python pylint

232
推荐指数
9
解决办法
22万
查看次数

Boost的最佳文档:asio?

boost网站上提供的文档是有限的.

从我能够阅读的内容来看,普遍的共识是很难在boost :: asio库上找到好的文档.

这是真的吗?如果是这样,为什么?

笔记:

  • 我已经找到了(非增强型)Asio网站 - 文档看起来与boost网站上的相同.
  • 我知道Boost :: asio是新的!我正在寻找解决方案而不是借口.

编辑:

  • 有人建议将网络库添加到由Boost:asio(Christopher Kohlhoff)的作者编写的TR2标准库中.虽然它不是boost:asio的文档,但它确实将它作为TR2提案的基础.由于作者在本文档中付出了更多努力,我发现它有点帮助,如果不是作为参考,那么至少作为概述.

c++ boost boost-asio

139
推荐指数
7
解决办法
6万
查看次数

从构造函数的初始化列表中捕获异常

这是一个好奇的.我有一个A类.它有一个B类项目,我想在A的构造函数中使用初始化列表初始化,如下所示:

class A {
    public:
    A(const B& b): mB(b) { };

    private:
    B mB;
};
Run Code Online (Sandbox Code Playgroud)

有没有办法捕获mB的拷贝构造函数可能在使用初始化列表方法时抛出的异常?或者我是否必须在构造函数的大括号中初始化mB才能获得try/catch?

c++ exception

50
推荐指数
2
解决办法
2万
查看次数

C++中的垃圾收集 - 为什么?

我一直听到人们抱怨C++没有垃圾收集.我还听说C++标准委员会正在考虑将其添加到该语言中.我担心我只是没有看到它的意义...使用智能指针的RAII消除了它的需要,对吧?

我对垃圾收集的唯一经验是在几台便宜的80年代家用电脑上,这意味着系统每隔一段时间就会冻结几秒钟.我确信它从那时起已有所改善,但正如你可以猜到的那样,这并没有让我对此持高度评价.

垃圾收集为经验丰富的C++开发人员提供了哪些优势?

c++ garbage-collection c++11

46
推荐指数
11
解决办法
1万
查看次数

C++"命名参数成语"与Boost ::参数库

我查看了Named Parameter IdiomBoost :: Parameter库.每个人有什么优势?是否有充分的理由总是选择其中一个,或者在某些情况下每个人都可能比另一个好(如果是的话,在什么情况下)?

c++ named-parameters boost-parameter

35
推荐指数
3
解决办法
7646
查看次数

C++错误处理 - 示例代码的良好来源?

几乎所有代码示例代码都忽略了错误处理(因为它"混淆了示例代码正在解决的问题").我的编程知识主要来自书籍和网站,你很少在那里看到任何错误处理,更不用说好东西了.

哪些地方可以看到C++错误处理代码的好例子?特定的书籍,特定的开源项目(最好具有要查看的文件和功能)以及特定的网页或网站都将被感激地接受.

c++ error-handling

29
推荐指数
3
解决办法
3万
查看次数

const指针有什么用(与指向const对象的指针相对)?

我经常使用const对象的指针,就像这样......

const int *p;
Run Code Online (Sandbox Code Playgroud)

这只是意味着您无法更改p指向的整数p.但是我也看到了const指针的引用,这样宣称......

int* const p;
Run Code Online (Sandbox Code Playgroud)

据我所知,这意味着指针变量本身是不变的 - 你可以改变它整天指向的整数,但你不能指出其他东西.

有什么可能的用途?

c c++ const

28
推荐指数
5
解决办法
1万
查看次数