小编tjd*_*tjd的帖子

是否会使用从构造函数抛出的新(std :: nothrow)掩码异常?

假设以下代码:

Foo* p = new (std::nothrow) Foo();
Run Code Online (Sandbox Code Playgroud)

如果我们没有堆内存,'p'将等于0.

如果我们不是内存但Foo的构造函数抛出会发生什么?将'new'和'p'设置为0的nothrow版本会"掩盖"该异常吗?...或者从Foo的构造函数抛出的异常是否会使其脱离函数?

c++ new-operator

10
推荐指数
3
解决办法
2502
查看次数

AAC编解码库(libFAAC替代)

我正在寻找适用于Linux和Windows(适用于C\C++应用程序)的AAC编码器/解码器库.这是商业产品,因此libFAAC不是一种选择.我看过Nero和MainConcept中的那个,但我更喜欢LGPL许可证等不需要许可证费用的东西.

audio aac

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

C++ 11变量缩小,没有GCC编译器警告

缩小的概念似乎很简单.但是,有人可以解释为什么下面的一些代码导致"缩小"编译器错误而其他代码没有?

此代码在预期的位置产生错误:

constexpr int a = 255;
unsigned char b = a;      // OK
unsigned char c = a + 1;  // Error... expected
Run Code Online (Sandbox Code Playgroud)

此代码不会产生错误,但可能没问题:

int d = 256;
unsigned char e = d;  // Maybe OK because 'd' is not constexpr
Run Code Online (Sandbox Code Playgroud)

此代码应该生成错误(除非我遗漏了一些东西):

int f = 42.0;  // Maybe OK because no fractional part
int g = 42.1;  // OK... should fail!!
constexpr float h = 42.7;
int i = h;     // OK... should fail???
Run Code Online (Sandbox Code Playgroud)

我正在使用g ++ 4.6.2.我搜索了GCC错误数据库,没有发现任何相关内容.谢谢!

c++ c++11

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

timespec是否未在Windows中定义?

这个答案很难找到,这对我来说似乎很奇怪.我已经包含了time.h和ctime,但是vc9仍在抱怨未定义的类型'timespec'.我在这里搜索过,MSDN和网络(即使有确切的编译错误),但我找不到答案......也许它只是在噪音中丢失了.

这是确切的错误:

error C2027: use of undefined type 'timespec'
Run Code Online (Sandbox Code Playgroud)

谢谢

windows time timespec

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

C++ 11中operator =(std :: promise &&)的结果是什么?

我一直在阅读C++ 11规范,而我无法理解其中一个std::promise对象运算符(std::promise& operator=(std::promise&& rhs) noexcept)的结果.

该规范说效果是"放弃任何共享状态,然后好像promise(std::move(rhs)).swap(*this)."

我得到的*this将等于之前的值rhs,但效果是rhs什么?

c++ rvalue-reference c++11

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

标签 统计

c++ ×3

c++11 ×2

aac ×1

audio ×1

new-operator ×1

rvalue-reference ×1

time ×1

timespec ×1

windows ×1