小编Cem*_*ncu的帖子

如何从(并复制到)系统的剪贴板制作vim粘贴?

与其他编辑器不同,vim商店将文本复制到自己的剪贴板中.因此,我很难从网页复制一些文本并将其粘贴到当前的工作文件中.碰巧我必须打开gedit或手动输入它.

我可以在系统的剪贴板上进行vim粘贴吗?

vim clipboard editor

712
推荐指数
19
解决办法
53万
查看次数

C++继承通过支配警告

我正在尝试实现一个实现许多接口的相当大的对象.其中一些接口是纯虚拟的.我可能在钻石继承方面遇到问题.Visual Studio正在报告警告C4250 ('class1' : inherits 'class2::member' via dominance).首先,这些类实际上是应该继承的.以下是导致此问题的部分类设计.

A        B        C
 \      / \      /
  \    /   \    /
    AB       BC 
    |         |
    |        BC2
    |         |
     \        D: Implementation of B, C, BC, BC2
      \      /
        Big
Run Code Online (Sandbox Code Playgroud)

在整个树中,只有D实现了虚方法,没有其他相关方法的定义.B的所有虚拟方法都列在警告中.如果重要,D是一个完整的类.

我读到这种情况发生在Boost序列化中,忽略警告是安全的.

这种方法我试图实现有效吗?忽视这个警告是否安全?

注1:这不是Visual Studio Compiler警告C4250('class1':通过优势继承'class2 :: member')的重复,我尝试了那里提出的解决方案.

注2:我也可以发送类图,但它比这复杂一点.

编辑: 完整警告如下:

warning C4250: 'gge::resource::ImageResource' : inherits 
'gge::graphics::ImageTexture::gge::graphics::ImageTexture::drawin' 
via dominance
Run Code Online (Sandbox Code Playgroud)

gge::resource::ImageResource在绘图中是大的,gge::graphics::ImageTexture是D,drawin是我得到警告的六种方法之一.

c++ virtual-inheritance diamond-problem

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

C++ std :: function找不到正确的重载

考虑以下情况:

void Set(const std::function<void(int)> &fn);
void Set(const std::function<void(int, int)> &fn);
Run Code Online (Sandbox Code Playgroud)

现在调用函数

Set([](int a) {
    //...
});
Run Code Online (Sandbox Code Playgroud)

给"重载函数的模糊调用"错误.我正在使用Visual Studio 2010.是否有工作或其他方法来实现类似的东西.我不能使用模板,因为这些函数存储起来供以后使用,因为在这种情况下我无法确定参数的数量.如果你问我可以提交更多细节.

c++ lambda c++11

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

如何在由Cmake生成的ALL_BUILD和ZERO_CHECK Visual Studio 2013项目中将unicode设置为字符集?

我目前正在使用CMake创建一堆Visual Studio 2013项目,它的工作原理.但是,自动创建的ZERO_CHECK和ALL_BUILD项目默认设置为使用MBCS,尽管我希望它们使用Unicode字符集.

我确实为我的项目指定了Unicode字符集的使用,具体如下:

ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)
Run Code Online (Sandbox Code Playgroud)

它起作用了.我尝试用以下内容设置c ++编译器标志:

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /UMBCS /D_UNICODE /DUNICODE")
Run Code Online (Sandbox Code Playgroud)

甚至 :

ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)
Run Code Online (Sandbox Code Playgroud)

在我的项目设置之前,但它根本不影响ZERO_CHECK和ALL_BUILD.有任何想法吗 ?

unicode cmake compiler-flags visual-studio-2013

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

模板友谊

我正在尝试使用不同的模板参数访问模板类的受保护变量.带有模板参数的朋友声明会出现以下错误:

不允许使用多个模板参数列表

我的代码是

template<class O_, class P_> 
class MyClass {
    //multiple template parameter lists are not allowed
    template<class R_> friend class MyClass<R_, P_> 
    //syntax error: template<
    friend template<class R_> class MyClass<R_, P_> 

public:
    template<class R_>
    ACopyConstructor(MyClass<R_, P_> &myclass) :
       SomeVariable(myclass.SomeVariable)
    { }

protected:
    O_ SomeVariable;
};
Run Code Online (Sandbox Code Playgroud)

如果我删除保护和朋友声明它的工作原理.

c++ templates friend

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

C++ Class或Struct与C struct的兼容性

是否可以编写与C结构完全兼容的C++类或结构.兼容性我指的是对象的大小和变量的内存位置.我知道使用它*(point*)&pnt甚至是邪恶(float*)&pnt(在不同的情况下,变量是浮点数),但考虑到性能需要它真正需要它.使用普通型铸造操作员每秒百万次是不合逻辑的.

举个例子

Class Point {
    long x,y;
    Point(long x, long y) {
        this->x=x;
        this->y=y;
    }

    float Distance(Point &point) {
        return ....;
    }
};
Run Code Online (Sandbox Code Playgroud)

C版本是POD结构

struct point {
    long x,y;
};
Run Code Online (Sandbox Code Playgroud)

c++ class data-structures

6
推荐指数
3
解决办法
5687
查看次数

OpenGL ES GL_TEXTURE_RECTANGLE

有谁知道OpenGL ES是否支持GL_TEXTURE_RECTANGLE?我打算将它用于2D图形,以支持非二次幂图像.我当前的实现使用POT纹理,alpha = 0填充对拉伸图像效果不佳.它适用于OpenGL,但我们也计划将其移植到OpenGL ES.

opengl-es

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

电子邮件 mailto 链接有效 URL 吗?

根据 URL 语法,协议后面的冒号后应该有斜杠。电子邮件链接,例如

mailto:bla@shoe.com
Run Code Online (Sandbox Code Playgroud)

但是,不包含这些斜杠。

这些地址可以被视为有效的 URL 吗?

email url syntax uri

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

Xlib ARGB窗口图标

我有一个ARGB图像数据.我希望将窗口图标设置为此数据.经过几个小时的搜索,我仍然处于起步阶段.我知道我需要为图像数据创建一个像素图,并且(可能是)另一个用于掩码的像素图,并使用提示来暗示窗口管理器.但是,我不知道如何设置32位ARGB或24位RGB + 8位alpha图像.样本真的很棒.

window-managers xlib

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

防止为const ref参数临时传递

我有一个功能:

void AddImage(const Image &im);
Run Code Online (Sandbox Code Playgroud)

此功能不需要修改图像,但它将图像存储为const引用,以供以后使用。因此,此功能不应允许临时使用。在没有任何预防措施的情况下,以下工作:

Image GetImage();

...

AddImage(GetImage());
Run Code Online (Sandbox Code Playgroud)

有没有办法防止此函数调用?

c++ const reference

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