小编Nor*_*löw的帖子

通过Value或Reference传递std :: string

可能重复:
传递const std :: string&作为参数的日期是多少?

如果std::string支持移动语义,我应该通过值传递还是通过引用传递(到非内联函数)?那么使用小字符串优化(SSO)的实现呢?

c++ string std move-semantics

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

GC或不GC

我最近看到两个非常好的和教育性的语言谈话:

Herb Sutter的第一部,介绍了C++ 0x的所有优秀和酷炫功能,为什么C++的未来比以往任何时候都更加明亮,以及M $如何在这场游戏中成为一个好人.该演讲围绕效率展开,如何最大限度地减少堆活动可以提高性能.

这个另一种,安德烈Alexandrescu的,激励一个过渡从C/C++,以他的新的游戏改变d.D的大部分内容似乎都非常有动力和设计.然而,有一件事让我感到惊讶,即D推动垃圾收集,并且所有类都是通过引用创建.更令人困惑的是,"D编程语言参考手册 "一书特别在关于资源管理的部分中 陈述如下,引用:

垃圾收集消除了C和C++中必需的繁琐,容易出错的内存分配跟踪代码.这不仅意味着更快的开发时间和更低的维护成本,而且最终的程序经常运行得更快!

这与Sutter关于最小化堆活动的不断讨论相冲突.我非常尊重Sutter和Alexandrescou的见解,所以我对这两个关键问题感到有些困惑

  1. 不通过引用单独创建类实例会导致很多不必要的堆活动吗?

  2. 在哪些情况下我们可以使用垃圾收集而不牺牲运行时性能?

c++ performance garbage-collection d heap-memory

70
推荐指数
3
解决办法
3455
查看次数

禁止Matlab窗口焦点窃取

有没有办法告诉Matlab 不要在诸如figure和之类的图形命令上窃取窗口焦点(来自外部编辑器),例如Emacs plot.这会大大提高我的工作效率,因为我经常希望在数据(重新)处理过程中继续进行代码开发.

matlab plot focus window-management

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

编译模式下的ANSI着色

有没有人在编译模式Emacs中添加对ansi-color的支持?如果是这样,颜色编写程序必须检查哪个属性/属性,以确保其活动终端支持ANSI-escape着色.

emacs shell ansi-escape text-coloring compilationmode

35
推荐指数
5
解决办法
4518
查看次数

非平凡的懒惰评估

我正在消化这个精彩的演示文稿为什么要学习Haskell?作者:Keegan McAllister.他在那里使用了片段

minimum = head . sort
Run Code Online (Sandbox Code Playgroud)

作为Haskell懒惰评估的一个例子,说明在Haskell中minimum时间复杂度 O(n).但是,我认为这个例子具有学术性质.因此,我要求一个更实际的例子,即大多数中间计算都被抛弃,这并不是显而易见的.

haskell lazy-evaluation time-complexity

32
推荐指数
3
解决办法
2906
查看次数

英特尔TBB和微软PPL有什么区别?

我打算开始为一个跨平台项目"玩"基于任务的并行性.我想使用英特尔线程构建模块.我从Windows和Visual Studio开始.

因为我只是想要原型,我正在考虑只在Windows上"玩",然后有足够的知识在所有兼容平台上使用该库.

我了解到,自VS2010以来,Microsoft提供了一个类似的库,并行处理库,它具有(几乎)与英特尔TBB相同的接口.

一些消息来源建议,包括TBB的团队博客,他们一起构建它,并且它是相同的库.

然而,它并不是真正明确的,因为它经常表明两个库之间存在细微差别.

那么,如果有的话,这些差异是什么?我应该直接与去年稳定该局启动或者是低风险的原型与微软PPL只是玩,跨平台的"真实"的项目上使用该局?

c++ parallel-processing comparison tbb ppl

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

从无序地图中删除元素以实现谓词

我想从std::unordered_map(直方图)中删除元素(直方图箱),这些元素(直方图)满足作为lambda表达式给出的预测(直方图箱具有零计数),如下所示

std::remove_if(begin(m_map), end(m_map), [](const Bin & bin) { return bin.second == 0; });
Run Code Online (Sandbox Code Playgroud)

但GCC-4.6.1抱怨如下

/usr/include/c++/4.6/bits/stl_pair.h:156:2: error: assignment of read-only member ‘std::pair<const unsigned char, unsigned char>::first’
/usr/include/c++/4.6/bits/stl_pair.h: In member function ‘std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(std::pair<_T1, _T2>&&) [with _T1 = const unsigned char, _T2 = long unsigned int, std::pair<_T1, _T2> = std::pair<const unsigned char, long unsigned int>]’:
/usr/include/c++/4.6/bits/stl_algo.h:1149:13:   instantiated from ‘_FIter std::remove_if(_FIter, _FIter, _Predicate) [with _FIter = std::__detail::_Hashtable_iterator<std::pair<const unsigned char, long unsigned int>, false, false>, _Predicate = pnw::histogram<V, C, H>::pack() [with …
Run Code Online (Sandbox Code Playgroud)

c++ unordered-map remove-if

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

GHC Int类型的位大小

为什么GHC的Int type不能保证使用精确的32位精度?该文档声称它具有至少 30位的签名精度.它是否与拟合Maybe Int或类似的32位相关?

size haskell types ghc

21
推荐指数
3
解决办法
1789
查看次数

PID,PPID和TGID的含义

Linux内核的首字母缩略词PID,PPID,TGID代表什么?

我在strace-pids偶然发现了他们.

linux pid process linux-kernel threadgroup

20
推荐指数
1
解决办法
4万
查看次数

并行Cabal构建

当使用cabal install类似于GNU make的-jN标志时,有没有办法并行编译包?

parallel-processing haskell multicore build cabal

19
推荐指数
2
解决办法
3807
查看次数