小编Wha*_*awg的帖子

Vim:\n vs.\r

我有一段时间没有在Unix系统中使用过vim,但是我记得没有\ r \n,它始终是\n.

我在windows下使用gVim,当我搜索新行字符时,我使用\n.搜索\ r \n不返回任何内容.但当我替换我必须使用\ r的字符.\n给我^ @

谁能解释一下这里发生了什么?

unix windows vim

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

如何在Vim中重复替换命令?

在Unix中,^允许您重复一个命令,其中一些文本替换为新文本.例如:

csh% grep "stuff" file1 >> Results
grep "stuff" file1
csh% ^file1^file2^
grep "stuff" file2
csh%
Run Code Online (Sandbox Code Playgroud)

是否有Vim等价物?很多时候,我发现自己在命令行上一遍又一遍地编辑小事.

vim history repeat substitution

22
推荐指数
5
解决办法
8060
查看次数

什么模糊的语法毁了你的一天?

你什么时候遇到可能过时的语法,从来没有使用或只是简单的混淆,你无法理解你的生活.

例如,我从来不知道逗号是C中的实际操作符.所以当我看到代码时

if(Foo(), Bar())
Run Code Online (Sandbox Code Playgroud)

我只是吹了一个垫子试图弄清楚那里发生了什么.

我很好奇在其他语言中可能存在一些从不肮脏的小角落.

syntax

22
推荐指数
10
解决办法
2639
查看次数

C++父类调用子虚函数

我想要一个纯虚拟父类来调用函数的子实现,如下所示:

class parent
{
  public:
    void Read() { //read stuff }
    virtual void Process() = 0;
    parent() 
    {
        Read();
        Process();
    }
}
class child : public parent
{
  public:
    virtual void Process() { //process stuff }
    child() : parent() { }
}

int main()
{
   child c;
}
Run Code Online (Sandbox Code Playgroud)

这应该工作,但我得到一个未链接的错误:/这是使用VC++ 2k3

或者不应该工作,我错了吗?

c++ virtual inheritance

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

字节码 解读

我记得一位教授曾经说过,解释后的代码比编译的代码慢了10倍.解释和字节码之间的速度差异是多少?(假设字节码不是JIT编译的)

我问,因为有些人一直在围绕将vim脚本编译成字节码的想法,我只是想知道会得到什么样的性能提升.

vim performance interpreter bytecode

8
推荐指数
1
解决办法
2840
查看次数

在OpenGL中创建环境堆栈

我想在OpenGL中创建一个与矩阵堆栈类似的环境设置(混合,模板,深度等)的抽象.推入堆栈,进行所需的任何更改,绘制对象,然后弹出堆栈并返回先前的设置.

例如,目前你可能有这样的绘图代码:

glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDisable(GL_DEPTH_TEST);
//Draw operations
glEnable(GL_DEPTH_TEST);
glDisable(GL_BLEND); 
Run Code Online (Sandbox Code Playgroud)

但是对于环境堆栈,它看起来像这样:

glPushEnv();
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDisable(GL_DEPTH_TEST);
//Draw operations
glPopEnv(); 
Run Code Online (Sandbox Code Playgroud)

我认为只有两种方法可以做到这一点:

  1. 创建我自己的每个环境设置功能的'味道'并调用它.它将依次更新当前的EnvStack数据结构并调用OpenGL环境函数.
  2. 改变OpenGL环境函数指向我的环境函数,它将再次更新当前的EnvStack数据结构并调用原始的OpenGL环境函数.

所以选项1显然要简单得多.但是如果我使用其他人的代码,我会遇到一个问题,因为我不一定知道它对环境做了什么改变,因此我的数据结构会不同步.而且由于重点是确保环境设置正确的简单方法,这并不酷.

所以我的问题是,在这个上下文中,我如何更改OpenGL环境功能指向的功能?

c c++ opengl abstraction

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