小编use*_*311的帖子

C++ 11中的new keyword = default

我不明白为什么我会这样做:

struct S { 
    int a; 
    S(int aa) : a(aa) {} 
    S() = default; 
};
Run Code Online (Sandbox Code Playgroud)

为什么不说:

S() {} // instead of S() = default;
Run Code Online (Sandbox Code Playgroud)

为什么要为此引入一个新关键字?

c++ c++11

121
推荐指数
6
解决办法
5万
查看次数

C++中"using"关键字背后的逻辑是什么?

C++中"using"关键字背后的逻辑是什么?

它用于不同的情况,我试图找出是否所有这些都有共同点,并且有一个理由为什么使用"using"关键字.

using namespace std; // to import namespace in the current namespace
using T = int; // type alias
using SuperClass::X; // using super class methods in derived class
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

对齐对C++ 11的性能是否真的重要?

对齐对C++ 11的性能是否真的重要?

在Stroustrup的书中有一条建议,要求从最大到最小的结构中对成员进行排序.但我想知道是否有人进行了测量,以确定是否会产生任何影响,并且在编写代码时是否值得考虑.

c++ memory-alignment c++11

38
推荐指数
2
解决办法
3756
查看次数

我总是应该使用noexcept吗?

我应该总是在C++ 11中为getter使用noexcept方法修饰符吗?

我的意思是简单的吸气者,只是回归成员.至少在我所有的getter中,我有一个例外是不可能抛出的.一个缺点是getter变得过于冗长:

const std::string& getName() const noexcept{ return name; }
Run Code Online (Sandbox Code Playgroud)

Stroustrup的书中指出的好处是编译器可能会在这里和那里做一些优化.

c++ c++11

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

关于new和delete的用法,以及Stroustrup的建议

关于new和delete的用法,以及Stroustrup的建议......

他说的是(但不完全是,这来自我的书中的笔记):

根据经验,new属于构造函数和类似操作的delete属于析构函数.此外,new通常用于资源句柄的参数.否则,请避免使用newdelete,而是使用资源句柄(智能指针).

我想知道更有经验的C++ 11用户是否真的应用了这个.

我对此的印象是,哇这似乎是一个非常酷的规则.但是,就任何一般规则而言,我都怀疑.在一天结束时,您将最终使用new并在必要时删除.但也许这个规则是一个我不知道的好准则.

c++ c++11

30
推荐指数
2
解决办法
4536
查看次数

为接口和实现设置单独的命名空间是否值得?

为接口和实现设置单独的命名空间是否值得?

Stroustrup在他的C++书(第四版)中的建议是我们应该为接口和实现使用单独的命名空间.更有经验的人能说出这个吗?我的意思是听起来不错,但是它真的很实用,在真实世界的项目中有意义吗?

c++ c++11

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

是否可以在C++中自动生成析构函数?

是否可以在C++中自动生成析构函数?

自己一直这样做是一个太大的负担.编译器生成析构函数是否如此困难?它不能检测什么是"资源"并在析构函数中释放它?

c++ c++11

9
推荐指数
3
解决办法
1937
查看次数

=default 和没有参数的空构造函数之间的区别?

=default 和没有参数的空构造函数之间的区别?

是否有区别:

MyClass() {}
MyClass() = default;
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

Java中C#lock的等价物?

Java中C#lock的等价物?

例如:

public int Next() {
  lock (this) {
    return NextUnsynchronized();
  }
}
Run Code Online (Sandbox Code Playgroud)

如何将此C#方法移植到Java?

c# java multithreading

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

Const之前或之后的类型?

我有以下代码:

string const& operator[] (size_t index) const { return elems[index]; }
Run Code Online (Sandbox Code Playgroud)

不应该是:

const string&
Run Code Online (Sandbox Code Playgroud)

c++

7
推荐指数
2
解决办法
3435
查看次数

标签 统计

c++ ×9

c++11 ×8

c# ×1

java ×1

memory-alignment ×1

multithreading ×1