我安装了emacs 24并安装了前奏曲,我想将主题从zenburn更改为tango-dark.但突出显示的颜色是黄色,我不喜欢这样.我希望它像zenburn中的灰色.


我该怎么办?我不想关闭hl-line但是当我尝试时我看到括号()之间的空格用相同的黄色突出显示.(在zenburn主题中没有发生).我也知道这不是探戈主题的一部分,因为当我用探戈主题运行香草emacs(sudo emacs)时,没有这样的突出显示.

为什么c ++的实现string::find()不使用KMP算法(并且不运行O(N + M))并运行O(N * M)?这是在C++ 0x中纠正的吗?如果当前查找的复杂性不是O(N * M),那是什么?
PS:对不起,我的意思是 O(N * M)
那么在gcc中实现了什么算法?是KMP吗?如果没有,为什么?我测试了它,运行时间表明它运行了string::find()
在c ++ 11中,如果我们有set<int> S; 我们可以说:
for (auto i: S)
cout << i << endl;
Run Code Online (Sandbox Code Playgroud)
但我们可以强制i成为迭代器,我的意思是编写一个相当于以下代码的代码:
for (auto i = S.begin(); i != S.end(); i++)
cout << (i != s.begin()) ? " " : "" << *i;
Run Code Online (Sandbox Code Playgroud)
或者我们可以做一些我们可以理解i集合(或向量)中的索引的东西吗?
另一个问题是我们怎么能说不要对所有元素都这样做,S但对于前半部分或除了第一部分之外的所有元素.
或者当我们有一个vector<int> V,并且想要打印它的第一个n值时我们该怎么做?我知道我们可以创建一个新的向量,但是将一个向量复制到一个新向量需要时间.
以下代码的复杂性是什么?
set<int> S1, S2, ans;
set_intersection(S1.begin(), S1.end(), S2.begin(), S2.end(), inserter(ans, ans.begin()))
Run Code Online (Sandbox Code Playgroud)
where S1和S2是一些non_empty集,ans是一个空集.
我知道将一个排序范围插入一个集合是线性的; 但是也使用插入线性插入?
我正在寻找一个函数,它返回对C++ 11中复数的实数或图像值的引用.在C++ 03中,我可以说:
complex<double> C; cin >> C.real();
但是在C++ 11中,由于C.real()返回的值不是引用,因此给出了编译错误.
我发现我可以这样写:
double t; cin >> t; C.real(t);
但它并不简单,例如,如果我想将c的实部乘以2并将其加1,我应该说:
C.real(2*C.real() + 1);
那不干净.
还有其他[干净]的方法吗?
我power在numeric标题中找到了STL ,它power(TYPE T, Integer a)在O(log(a))中计算,但是当我编写它并用g++它编译它时给了我编译错误并说error: ‘power’ was not declared in this scope.为什么会这样?我知道编写在O(log(N)中计算的幂函数很容易买到我想知道C++的标准库中是否有就绪函数.C++ 11标准中没有添加任何功能吗?