小编upd*_*liu的帖子

如何将cin和cout重定向到文件?

我怎样才能重定向cinin.txtcoutout.txt

c++

125
推荐指数
5
解决办法
16万
查看次数

是否定义了有符号整数的按位运算结果?

我知道有>>符号整数的行为可以依赖于实现(具体来说,当左操作数为负时).

怎么样的人:~,>>,&,^,|?当他们的操作数有符号内建类型(整数short,int,long,long long),都将结果保证是相同的(中位含量),好像他们的类型是无符号的?

c c++ bitwise-operators

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

迭代std :: set/std :: map的时间复杂度是多少?

什么是迭代std::set/ std::multiset/ std::map/ 的时间复杂度std::multimap?我相信它在集合/地图的大小上是线性的,但不是那么肯定.是否在语言标准中指定?

c++ big-o stl std time-complexity

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

在组织模式下,如何从(主).org文件中包含其他.org文件?

我想将一些自定义代码放在一个单独的文件中,稍后将其包含在其他文件中.例如,文件config.org只有一行#+MATHJAX: align:"left" mathml:t.如何将其包含在另一个.org文件中,abc.org以便净效果与我#+MATHJAX在abc.org中直接写入该行完全相同?

emacs org-mode

14
推荐指数
2
解决办法
3438
查看次数

导出html时,组织模式无法突出显示C++源代码

我正在使用org-mode V7.8.09.当我尝试将以下c ++代码块导出为html时,

#+begin_src c++
  int a=1;
  int b=1;
  printf("%d\n", a+b);
#+end_src
Run Code Online (Sandbox Code Playgroud)

它失败了,留言

org-babel-exp processing...
font-lock-fontify-keywords-region: Symbol's value as variable is void: font-lock-end-statement-face`
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我声称它是python代码,它会成功导出...

#+begin_src python
  int a=1;
  int b=1;
  printf("%d\n", a+b);
#+end_src
Run Code Online (Sandbox Code Playgroud)

之后,我加入(org-babel-do-load-languages 'org-babel-load-languages '((C . t)))我的init.el,错误信息消失和C++代码可以导出成功HTML.但是c ++代码没有突出显示,而python代码被突出显示.

c++ emacs org-mode

13
推荐指数
1
解决办法
2366
查看次数

如何避免重载赋值运算符将右值转换为左值?

据我所知,返回*this是写超载的常态operator=.但这可能会提升左值的价值!

struct Foo {
  Foo& operator=(const Foo &t) { return *this; }
};

int main() {
  const Foo &ref = Foo();
  //Foo &ref1 = Foo();  // This line won't compile.
  //But the following line compiles. Isn't it dangerous?
  //Also please note that if = is not overloaded, the synthesized operator= will NOT let it compile.
  Foo &ref2 = (Foo() = Foo());

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ c++11

12
推荐指数
1
解决办法
403
查看次数

当b不为零时,我总是有`(a/b*b)+ a%b == a`吗?

因为int a, b,我知道当只有一个a并且b是否定的时候,结果a / ba % b机器有关.但是,我什么(a / b * b) + a % b == a时候b不是零?

c c++

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

IEEE Std 754浮点:让t:= a - b,标准保证a == b + t吗?

假设t,a,b都是双(IEEE标准754)变量,而这两个值a,b都没有NaN(但可能Inf).之后t = a - b,我一定有a == b + t吗?

c c++ floating-point ieee-754

10
推荐指数
1
解决办法
391
查看次数

定义两个变量:是"键入a(arg),b(arg);" 完全等同于"Type a(arg); Type b(arg);"?

假设我想定义类{Type}的两个变量.构造函数需要1个参数.以下两种方式完全等效(编译为相同的目标代码)?

Type a(arg), b(arg);
Run Code Online (Sandbox Code Playgroud)

Type a(arg);
Type b(arg);
Run Code Online (Sandbox Code Playgroud)

在我阅读了一篇关于异常安全的网页后出现了这个问题--- http://www.gotw.ca/gotw/056.htm 有一条指南"在自己的代码声明中执行每个资源分配(例如,新的)立即将新资源提供给经理对象." 它给出了一个示例:以下代码段是安全的

auto_ptr<T> t1( new T );
auto_ptr<T> t2( new T );
f( t1, t2 );
Run Code Online (Sandbox Code Playgroud)

但下面这行不安全

f( auto_ptr<T>( new T ), auto_ptr<T>( new T ) );
Run Code Online (Sandbox Code Playgroud)

那么,怎么样

auto_ptr<T> t1( new T ), t2( new T );
f( t1, t2 );
Run Code Online (Sandbox Code Playgroud)

我查阅了C++语言标准的文档,但没有发现任何指定此问题的内容.

要浑水,怎么样

shared_ptr<T> t1( new T );
shared_ptr<T> t2( t1 );
Run Code Online (Sandbox Code Playgroud)

shared_ptr<T> t1( new T ), t2( t1 );
Run Code Online (Sandbox Code Playgroud)

c++ exception

9
推荐指数
1
解决办法
160
查看次数

编写在C++ 11中拥有STL容器的类的构造函数的最佳方法

class Foo {
  std::vector<SomeType> data_;
};
Run Code Online (Sandbox Code Playgroud)

Say Foo只能通过制作一个对象的副本(技术上是指复制或移动)来std::vector<SomeType>构造.编写构造函数的最佳方法是Foo什么?

我的第一感觉是

Foo(std::vector<SomeType> data) noexcept : data_(std::move(data)) {};
Run Code Online (Sandbox Code Playgroud)

使用它,构造实例需要0或1次矢量复制,具体取决于{data}的参数是否可移动.

constructor move c++11

9
推荐指数
1
解决办法
370
查看次数