我是Mac用户,我决定学习Emacs.我已经读过这样可以减少手部疲劳并提高精度,CTRL并且CAPS LOCK应该更换钥匙.我如何在Leopard中执行此操作?
此外,在终端我必须使用ESC密钥来调用元.有没有办法让alt/option键代替调用meta?
更新:虽然控制键现在更容易被击中,但元键也经常被使用,以至于它在我的MacBook和Apple键盘上的位置也值得关注.事实上,我发现控制键实际上更容易被击中,所以我重新映射了我的控制键以充当元键.有没有人有更好/更标准的解决方案?
我想在文件中找到一些出现某种模式和缺少其他模式的行.例如,我需要找到所有文件/行,包括loom
除了gloom
.所以,我可以loom
用命令找到:
grep -n 'loom' ~/projects/**/trunk/src/**/*.@(h|cpp)
Run Code Online (Sandbox Code Playgroud)
现在,我想搜索loom
排除gloom
.但是,以下两个命令都失败了:
grep -v 'gloom' -n 'loom' ~/projects/**/trunk/src/**/*.@(h|cpp)
grep -n 'loom' -v 'gloom' ~/projects/**/trunk/src/**/*.@(h|cpp)
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能实现目标?
编辑1:我的意思是loom
并且gloom
是字符序列(不一定是单词).所以,我需要,例如,bloomberg
在命令输出中,不需要ungloomy
.
编辑2:有我的期望样本.以下两行都在命令输出中:
我面对着透过香幕的图标.
Arty 在阴沉的日子里正在蠢蠢欲动.
以下两行都不在命令输出中:
这是阴郁的可怕 - 伟大的mu mu do do o o o o o.
在西南角的高耸的大厅里
C#项目中的文件有" 复制到输出目录"属性.但是在VC++项目中却没有.我知道,我可以在VC++中使用Build事件并在那里写一些类似的东西
xcopy /y /d %(FullPath) $(OutDir)
Run Code Online (Sandbox Code Playgroud)
有没有办法避免使用CMD(和其他脚本方法)?在这种情况下,msbuild可以帮忙吗?
我正在尝试使用Visual C++ 11构建googletest,但是下面的代码会导致错误
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9>
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9>& t, // <-- error C2977
::std::ostream* os) {
PrintTupleTo(t, os);
}
Run Code Online (Sandbox Code Playgroud)
这是一个错误文本:
f:\gtest-1.6.0\include\gtest\gtest-printers.h(550): error C2977: 'std::tuple' : too many template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(72) : see declaration of 'std::tuple'
Run Code Online (Sandbox Code Playgroud)
并且有utility
-file 的第72行:
template<class = _Nil, _MAX_CLASS_LIST>
class tuple; // Line 72
Run Code Online (Sandbox Code Playgroud)
有什么问题std::tuple …
如果it1和it2之间有什么区别?
std::set<sometype> s;
auto it1 = std::inserter(s, s.begin());
auto it2 = std::inserter(s, s.end());
Run Code Online (Sandbox Code Playgroud) 我想填充std :: vector(或其他一些STL容器):
class Foo {
public:
Foo(int _n, const Bar &_m);
private:
std::vector<Foo> fooes_;
}
Run Code Online (Sandbox Code Playgroud)
1.好看的ctor,性能昂贵
std::vector<Foo> get_vector(int _n, const Bar &_m) {
std::vector<Foo> ret;
... // filling ret depending from arguments
return ret;
}
Foo::Foo(int _n, const Bar &_m) : fooes_(get_vector(_n, _m) {}
Run Code Online (Sandbox Code Playgroud)
2.性能更好,看起来更糟糕
void fill_vector(int _n, const Bar &_m, std::vector<Foo> &_ret) {
... // filling ret depending from arguments
}
Foo::Foo(int _n, const Bar &_m) { fill_vector(_n, _m, fooes_); }
Run Code Online (Sandbox Code Playgroud)
是否可以get_vector
使用C++ 0x(移动语义功能等)重写第一个示例中的函数以避免冗余复制和构造函数调用?
是的,我知道.问题的长标题...所以我在字符串中有类名.我以这种方式动态创建该类的对象:
String className = "com.package.MyClass";
Class c = Class.forName(className);
Object obj = c.newInstance();
Run Code Online (Sandbox Code Playgroud)
我如何动态地将该obj转换为MyClass对象?我不能这样写:
MyClass mobj = (MyClass)obj;
Run Code Online (Sandbox Code Playgroud)
...因为className可以是不同的.
术语同步原语到底意味着什么?例如:互斥,临界区,等待计时器,事件,监视器,条件变量,信号量.它们都是同步原语吗?我还没有列出任何其他同步原语吗?这些是有效的问题吗?
language-agnostic multithreading synchronization terminology
如何使用Visual Studio C++ 11构建Boost(我试过1.48.0版本)?找不到工具集.我添加了工具集vc11 但收到了一条消息:bootstrap.bat
vc11
F:\Programming\boost_1_48_0\tools\build\v2\engine\build.bat
ERROR: Cannot determine the location of the VS Common Tools folder.
Run Code Online (Sandbox Code Playgroud)
编辑:该费鲁乔 答案适用于VS 2012 Express和升压1.51.0过.
c++ ×5
c++11 ×2
stl ×2
visual-c++ ×2
bash ×1
boost ×1
boost-build ×1
class ×1
emacs ×1
grep ×1
java ×1
key-bindings ×1
lombok ×1
macos ×1
msbuild ×1
object ×1
stdset ×1
terminology ×1
tuples ×1