举例说明,为了这个问题:
void MyClass::MyFunction( int x ) const
{
std::cout << m_map[x] << std::endl
}
Run Code Online (Sandbox Code Playgroud)
这不会编译,因为[]运算符是非const的.
这很不幸,因为[]语法看起来很干净.相反,我必须做这样的事情:
void MyClass::MyFunction( int x ) const
{
MyMap iter = m_map.find(x);
std::cout << iter->second << std::endl
}
Run Code Online (Sandbox Code Playgroud)
这一直困扰着我.为什么[]运算符是非常量的?
是否有任何VIM插件可用于索引C++项目代码库?
我会说明能够指定一个类的功能,并且可能是一个方法,并查看方法/类定义的文件/行.
我试图安装taglist(但我无法安装ctags),但我意识到它不支持css,还有其他方法或插件来执行这项工作吗?
PS:我检查了ctags的安装文件,但是我找不到任何看起来像安装手册的步骤.
它只是说:
Installation Notes
==================
For non-Unix platforms, simple makefiles are provided:
descrip.mms For VMS using either DEC C or VAX C
mk_bc3.mak For MSDOS using Borland C/C++ 3.x
mk_bc5.mak For Win32 using Borland C++ 5.5
mk_djg.mak For MSDOS using DJGPP Gnu GCC (better to follow Unix install)
mk_manx.mak For Amiga using Aztec/Manx C 5.0
mk_mingw.mak For Win32 using MinGW
mk_mpw.mak For Macintosh using MPW
mk_mvc.mak For Win32 using Microsoft Visual C++
mk_os2.mak For OS/2 using GCC (EMX)
mk_qdos.mak …Run Code Online (Sandbox Code Playgroud) 到目前为止我所拥有的:
function! GetMarker()
return system('echo $random `date` | md5sum | cut -d" " -f1')
endfunction
Run Code Online (Sandbox Code Playgroud)
我希望能够做到:getmarker并让它在我的光标处插入该系统命令的输出,没有新行.
此外之间有什么区别function!和function?
编辑:在你问任何人之前,我需要随机字符串来标记我的代码中的部分,以便我可以通过在我的todo wiki中引用我的笔记再次找到它们.
我想出了如何搜索文件结构,它真的很好.:find **/my_file.txt
这将找到任何名为my_file.txt的文件.我想要做的是创建一个自定义命令,所以我可以这么说:srch my_file.txt,我不必每次都输入整个find命令.任何想法如何做到这一点?我找到了
:command MyCommand find **/my_file.txt
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何传递我输入的文件
当我通过添加一行O或o根据它周围的缩进添加.
使用A或有没有办法做同样的事情I?
class
def method
? | cursor starts in the first column
end
end
Run Code Online (Sandbox Code Playgroud)
...*clickety-click*...
class
def method
? | cursor is correctly positioned inside the method
end
end
Run Code Online (Sandbox Code Playgroud)
O而o做到这一点的开箱但后来我在该行更高/更低的启动.
我是VIM的新手,我尝试将文件拆分为多个文件.这是一个测试文件:
Something1;XXXword;blabla(about 500 signs);
Something1;XXXword;(about 500 signs);
Something1;YYYword;(about 500 signs);
Something1;RRRword;(about 500 signs);
Run Code Online (Sandbox Code Playgroud)
XXX可能是2到20个字符的单词.当下面的单词(XXX/YYY/RRR)发生变化时,那么在"Something1"之前应该是一个剪辑,并且直到XXX更改的以下行应该是另一个新文件,依此类推.
它应该是这样的:
File1:
Something1;XXXword;blabla(about 500 signs);Something1;XXXword;(about 500 signs);
File2:
Something1;YYYword;(about 500 signs);
File3:
Something1;RRRword;(about 500 signs)
Run Code Online (Sandbox Code Playgroud)
有没有办法像专业人士那样做?谢谢 :)