小编ano*_*non的帖子

让vim git意识到

  1. 我一起使用Vim和Git.
  2. 我倾向于合并/切换Git分支.
  3. 我倾向于打开很多vim缓冲区.

  4. 有没有办法告诉vim:当我执行这个git命令(切换分支)时,重新加载所有缓冲区?因为我已经挂钩了所有我的vim-git交互,让vim知道何时进行重新加载不是问题.问题是:如何强制vim重新加载所有缓冲区?

git vim

3
推荐指数
1
解决办法
663
查看次数

gc-ed lua对象上的析构函数

我知道Lua是gc-ed.我知道Lua可以通过userdata处理c对象.

这里是我的问题:反正有这样,当一个C用户数据对象被LUA GC-ED这就是所谓的注册功能?[基本上是析构函数].

谢谢!

lua garbage-collection

3
推荐指数
1
解决办法
560
查看次数

lua gsub %b <-- 这是如何工作的?

在下面的lua代码中:

function interp(s, tab)
  return (s:gsub('($%b{})', function(w) return tab[w:sub(3, -2)] or w end))
end
Run Code Online (Sandbox Code Playgroud)

%b 是什么意思?

这如何匹配 "${name}" 之类的东西?

lua gsub

3
推荐指数
1
解决办法
1194
查看次数

RAII可能在Java?

http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization

这种设计模式在Java中是否可行?如果是这样,怎么样?如果没有,为什么不呢?

谢谢!

java raii

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

以下C++代码是否相同?(在智能指针实现中)

代码1:

template<class T>
const PtrInterface<T>*
PtrInterface<T>::newRef() const {
  PtrInterface<T>* me = (PtrInterface<T>*) this;
  ++me->references_;
  //++this->references_;
  return this;
} 
Run Code Online (Sandbox Code Playgroud)

代码2:

template<class T>
const PtrInterface<T>*
PtrInterface<T>::newRef() const {
  //PtrInterface<T>* me = (PtrInterface<T>*) this;
  //++me->references_;
  ++this->references_;
  return this;
}
Run Code Online (Sandbox Code Playgroud)

是否有任何情况下这两个代码块会做不同的事情?谢谢!

c++ templates pointers

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

成员变量的C++偏移量?

我有:

class Foo {
  int a;
  int b;
  std::string s;
  char d;
};
Run Code Online (Sandbox Code Playgroud)

现在,我想知道给定Foo*的a,b,s,d的偏移量

也就是说我有:

Foo *foo = new Foo();
(char*) foo->b == (char*) foo + ?? ; // what expression should I put in ?
Run Code Online (Sandbox Code Playgroud)

c++

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

在卢阿的quasiquote/quote?

在Lisp中,我可以:

(a b c d e f g)
Run Code Online (Sandbox Code Playgroud)

意思是

look up b, c, d, e, f, g
look up a; apply value of a to above
Run Code Online (Sandbox Code Playgroud)

然后,我也可以:

`(a b c d e f g)
Run Code Online (Sandbox Code Playgroud)

这相当于

 (list 'a 'b 'c 'd 'e 'f 'g)
Run Code Online (Sandbox Code Playgroud)

现在,在lua,我可以:

[snipplet 1]
foo = {
  Foo,
  {Cat, cat},
  {Dog, dog}
};
Run Code Online (Sandbox Code Playgroud)

最终可能扩展到:{nil,{nil,nil},{nil,nil}}

而我真正想要的是:

[snipplet 2]
{ "Foo", {"Cat", "cat"}, {"Dog", "dog"}}
Run Code Online (Sandbox Code Playgroud)

在lua中有一些类似反引号的方法吗?

我发现[snipplet 1]在视觉上比[snipplet 2]更令人愉悦,但我的意思是snipplet 2.

谢谢!

lua

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

c ++ classes&lua

我想拥有可以在C++和Lua中读/写的C++对象.

我看过:http://www.lua.org/pil/28.html

但是,我不喜欢这个解决方案,因为我的对象有构造函数和析构函数(并且它们很重要,因为我使用RAII并且它们负责引用计数).

在PIL解决方案中我不喜欢的是对象是在Lua的堆中分配的.

我想要的是自己创建hte C++对象,并且让lua有办法获取/设置它们.

有没有人有一个很好的教程/链接?

坦克!

c++ lua

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

lua userdata c ++析构函数

在lua中,对于使用lua_newuserdata分配的内存,是否可以注册析构函数,以便在内存区域被lua垃圾收集时调用析构函数?

谢谢!

lua garbage-collection destructor

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

MacOSX上的OpenGL

我正在编写一个大量使用OpenGL的应用程序; 无论是在Mac上还是在Linux上.

我听说有关苹果公司有错误的OpenGL驱动程序的各种谣言(以及不愿修复它们).任何人都可以确认/否认这个吗?

如果你在Mac和Linux上都开发了OpenGL,它们如何比较?

谢谢!

linux opengl macos

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

标签 统计

lua ×5

c++ ×3

garbage-collection ×2

destructor ×1

git ×1

gsub ×1

java ×1

linux ×1

macos ×1

opengl ×1

pointers ×1

raii ×1

templates ×1

vim ×1