小编ein*_*ica的帖子

如何在cvs中还原文件?

我已经从CVS存储库检出了一个文件并进行了更改.

cvs up命令说文件已被修改M.

我需要删除我的更改.cvs命令可以为我做什么?

cvs revert

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

C++ 11中删除函数的确切语义是什么?

struct A
{
    A();

    A(const A&);
    A& operator =(const A&);

    A(A&&) = delete;
    A& operator =(A&&) = delete;
};

struct B
{
    B();

    B(const B&);
    B& operator =(const B&);    
};

int main()
{
    A a;
    a = A(); // error C2280

    B b;
    b = B(); // OK
}
Run Code Online (Sandbox Code Playgroud)

我的编译器是VC++ 2013 RC.

错误C2280:'A&A :: operator =(A &&)':尝试引用已删除的函数

我只是想知道为什么编译器A& operator =(const A&);A& operator =(A&&)删除时不会尝试?

这种行为是由C++标准定义的吗?

c++ overloading language-lawyer c++11 semantics

45
推荐指数
2
解决办法
5310
查看次数

使用C++ 11,编写f(x ++),g(x ++)是不确定的行为?

我正在读这个问题:

未定义的行为和序列点

并且,特别是C++ 11的答案,我理解评估的"排序"的想法.但是 - 写作时是否有足够的顺序:

f(x++), g(x++);

也就是说,我保证f()获得原始值xg()获得一次递增x

挑剔的注意事项:

  • 假设operator++()已定义的行为(即使我们已经重写它),这样做f()g(),没有异常将被抛出,等-这个问题是不是有关.
  • 假设operator,()没有超载.

c++ expression undefined-behavior c++11

42
推荐指数
3
解决办法
4752
查看次数

如何让CMake基于GCC版本传递std = c ++ 14/c ++ 1y或c ++ 17/c ++ 1z?

GCC 4.x不接受--std=c++14C++ 14代码的切换 - 它需要--std=c++1y代替.以后的版本需要(--std=c++1z但可能)--std=c++17还没有设置(2016年写这个).也许C++ 11也存在类似的问题.

CMake是否有一些设施(可能作为模块)根据GCC版本传递正确的开关?

c++ cmake gcc4 c++14

41
推荐指数
3
解决办法
4万
查看次数

使用C++在编译时将时间戳嵌入目标代码中

我想执行a printf()来显示上次编译当前正在执行的代码的时间.C/C++是否提供了一个宏,可以让您在编译期间解析为时间戳?

c++ versioning timestamp build

37
推荐指数
4
解决办法
2万
查看次数

什么是C++中的合同17

我正在阅读B. Stroustrup的关于C++ 17思考合同,并协助一个小小的演讲,谈论他们,但我不确定我是否真的理解它们.

所以我有一些问题,如果有可能用一些例子来说明它们:

  • 合同是否是经典的更好替代品,assert()它们应该一起使用吗?对于软件开发人员来说,简单的合同是什么?

  • 合同会对我们处理异常的方式产生影响吗?如果是,我们应该如何使用例外和合同?

  • 使用合同是否意味着执行时的开销?我们是否允许在发布代码上停用它们?

提案N4415编辑:

可以编写Vector类的索引操作符的前置条件合约:
T& operator[](size_t i) [[expects: i < size()]];

类似地,ArrayView类的构造函数上的条件后约定可表示为: ArrayView(const vector<T>& v) [[ensures: data() == v.data()]];

c++ design-by-contract assertion c++17

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

堆栈溢出是否会导致除分段错误之外的其他内容?

在一个已编译的程序中(假设是C或C++,但我想这个问题可以扩展到任何带有调用堆栈的非VM语言) - 通常当你溢出堆栈时,会出现分段错误:

堆栈溢出是[a]原因,分段错误就是结果.

但这总是如此吗?堆栈溢出是否会导致其他类型的程序/操作系统行为?

我也问过非Linux,非Windows操作系统和非X86硬件.(当然,如果你没有硬件内存保护或操作系统支持(例如MS-DOS)那么就没有分段错误;我问的是你可能会遇到分段错误的情况但是还会发生其他事情).

注意:假设以外的堆栈溢出,该方案是有效的,而不是试图访问数组超出边界,取消引用无效指针等

c c++ stack-overflow segmentation-fault

36
推荐指数
3
解决办法
2281
查看次数

如何减少Eclipse Ganymede的内存使用?

我使用最近的Ganymede版本的Eclipse,特别是Java EE和Web开发人员的发行版.我已经安装了一些额外的插件(例如Subclipse,Spring,FindBugs)并删除了所有的Mylyn插件.

我没有在Eclipse中做任何特别重要的事情,例如启动应用服务器或连接到数据库,但由于某种原因,经过几个小时的使用后,我发现Eclipse使用的是接近500MB的内存.

有谁知道Eclipse为什么会使用这么多内存(漏洞?),更重要的是,如果我能做些什么来改进这个?

java eclipse memory ide

34
推荐指数
2
解决办法
4万
查看次数

我期望用C++编译器编译C代码有什么问题?

如果您使用现有的C代码库并使用C++编译器进行编译,那么您可能会遇到什么样的问题?例如,我认为将一个整数分配给具有枚举类型的值将在C++中失败,而在C中它是合法的(如果有点讨厌).

如果我没有包装我的所有C文件extern C { ... },我是否会在最不期望的地方获得名称错误?有什么理由我真的不应该这样做吗?

作为背景,我们有一个用C编写的非常大的代码库.几年来,我们一直在跳过箍来做一些自然而然的事情来通过C++(例如homebrewe继承).我们希望开始转向C++,但是要逐步进行; 获得我们类似CORBA的框架来支持它,并在我们继续使用C++提供的更自然的方法时重构模块.

c c++ migration compiler-construction language-interoperability

34
推荐指数
4
解决办法
4万
查看次数

我是否应该使用'if'语句统一两个类似的内核,从而有降低性能的风险?

我有2个非常相似的内核函数,在某种意义上代码几乎相同,但略有不同.目前我有2个选择:

  • 写出2种不同的方法(但非常相似)
  • 编写单个内核并在if/else语句中放置不同的代码块

if语句对我的算法性能有多大影响?
我知道没有分支,因为所有块中的所有线程都将输入if或else.
如果内核函数被多次调用,那么单个if语句会降低我的性能吗?

c c++ optimization cuda gpgpu

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