小编Any*_*orn的帖子

emacs以编程方式更改窗口大小

我想实现编译缓冲区自动折叠到小尺寸(但不能在删除窗口关闭),这样成功编译到窗口后缩小到最小尺寸.

get-buffer-create返回一个缓冲区.如何shrink-window在与该缓冲区关联的窗口上?还有,有没有办法存储以前的窗口大小?

这是我第一次涉足emacs lisp编程,谢谢你的帮助.

lisp size emacs buffer window

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

如何在特定模式下覆盖emacs lisp中的函数?

如何使用我自己的特定模式实现覆盖emacs功能?示例/参考会很棒

谢谢

lisp emacs overriding function

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

C++模板元编程,成员变量的数量?

在C++中是否可以确定泛型类中的变量/字段数?例如

// suppose I need metaclass number_members determines number of members

struct example { int i, j; };
assert(number_members<example>::value==2);
Run Code Online (Sandbox Code Playgroud)

我查看了mpl,但找不到实现.

谢谢.

c++ templates metaprogramming

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

C++模板非类型参数算术

我试图通过以下方式专门化模板:

template<size_t _1,size_t _2> // workaround: bool consecutive = (_1 == _2 - 1)>
struct integral_index_ {};
...
template<size_t _1>
struct integral_index_<_1, _1 + 1> { // cannot do arithmetic?
//struct integral_index_<_1, _2, true> { workaround
};
Run Code Online (Sandbox Code Playgroud)

但是我得到编译器消息错误

the template argument list of the partial specialization includes a non
-type argument whose type depends on a template parameter.
Run Code Online (Sandbox Code Playgroud)

我做错了什么?谢谢

我把解决方法放在评论中.显然我不能在模板专业化中做算术?似乎违反直觉.

这是我要解决的问题的最终解决方案.基本上,连续索引只需要一次乘法.

130 template<size_t _1,size_t _2, bool consecutive = (_1 == _2 - 1)>
131 struct integral_index_ {
132     template<typename T, …
Run Code Online (Sandbox Code Playgroud)

c++ parameters templates template-specialization

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

是否可以将指针重新解释为带尺寸的数组引用?

假设我有一些指针,我想将其重新解释为静态维数组引用:

double *p;
double (&r)[4] = ?(p); // some construct?

// clarify
template< size_t N> void function(double (&a)[N]);
...
 double *p;
function(p); // this will not work.
//  I would like to cast p as to make it appear as  double[N]
Run Code Online (Sandbox Code Playgroud)

有可能这样做吗?我该怎么做?

c++ arrays reference

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

x86-64长双精度

英特尔64位平台的长双精度的实际精度是多少?是80位填充到128或实际128位?

如果是前者,除了去gmp之外,还有其他选择来实现真正的128精度吗?

c c++ floating-point precision long-double

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

检查C++模板实例化

是否有一些实用程序可以让我检查模板实例化?我的编译器是g ++或Intel.

具体要点我想:

  • 一步一步实例化.
  • 实例化回溯(可以通过崩溃编译器破解它.更好的方法?)
  • 检查模板参数.

@gf用简单的打印方式帮我,C++模板名称漂亮打印.

然而,我正在进入提升凤凰和模板级别使得很难理解发生了什么,我想要智能解决方案

另外,如果你有一些检查模板实例化的技术,请你分享一下.

谢谢

c++ templates

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

提升线程互斥数组

我的问题是,我有多个线程更新的块矩阵.多个线程可能一次更新不相交的块,但通常可能存在竞争条件.现在矩阵使用单锁锁定.

问题是,是否有可能(如果是,如何?)实现有效的锁定数组,以便一次只能锁定矩阵的一部分.

所讨论的矩阵可以变得相当大,按照50 ^ 2块的顺序.我最初的猜测是使用动态分配互斥量的矢量/映射.

这是好方法吗?是否更好地使用多个条件变量?有更好的方法吗?

c++ performance multithreading boost

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

快速查找给定向量的字典向量.高尺寸

我正在寻找可扩展的答案,但出于我的特定目的,我有一个48维向量.这可以表示为48个整数的数组,全部介于0和255之间.

我有一本关于这些载体的大字典,大约有2.5万个.

我需要能够获取可能在我的数据库中或可能不在我的数据库中的向量,并快速找到数据库中哪个向量最接近.最接近,我的意思是传统的距离公式.

我的代码最终会出现在python中,但这更像是一个普遍的问题.

蛮力太慢了.我需要一个近词典速度查找.有人有想法吗?

python algorithm math vector

6
推荐指数
2
解决办法
368
查看次数

C++模板确定函数返回类型

如何确定成员泛型函数的返回类型?

    template<class E>
    struct result<E> {
        // E has member function data(), I need to know its return type
        typedef typename &E::data type;
    };
Run Code Online (Sandbox Code Playgroud)

是否可以通用方式进行?我知道有boost:: result_of但是为了我的目的它缺乏专业化(如果我理解正确,返回类型必须是专门的).提升实施将是伟大的.

c++ templates

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