小编Gau*_*rav的帖子

如何调用所有基类的复制构造函数来复制C++中钻石继承中的大多数派生类对象?

考虑以下代码:

#include<iostream>
using namespace std;
class A
{
public:
     A() {cout << "1";}
     A(const A &obj) {cout << "2";}
};

class B: virtual A
{
public:
    B() {cout << "3";}
    B(const B & obj) {cout<< "4";}
};

class C: virtual A
{
public:
   C() {cout << "5";}
   C(const C & obj) {cout << "6";}
};

class D:B,C
{
public:
    D()  {cout << "7";}
    D(const D & obj) {cout << "8";}
};

int main()
{
   D d1;
   cout << "\n";
   D …
Run Code Online (Sandbox Code Playgroud)

c++ copy-constructor virtual-inheritance private-inheritance ctor-initializer

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

std :: alignas如何优化程序性能?

在32位计算机中,一个内存读取周期获取4 bytes个数据。
因此要读取下面的缓冲区,读取下面提到的128个缓冲区应该花费32个读周期bytes。

char buffer[128];
Run Code Online (Sandbox Code Playgroud)

现在,假设如果我按如下所述对齐了该缓冲区,那么请让我知道它将如何使其更快地读取?

alignas(128) char buffer[128];
Run Code Online (Sandbox Code Playgroud)

我假设内存读取周期将仅保留4个字节。

c++ optimization c++11 alignas

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