相关疑难解决方法(0)

我在哪里可以找到当前的C或C++标准文档?

对于许多问题,答案似乎可以在"标准"中找到.但是,我们在哪里找到它?最好是在线.

谷歌搜索有时会觉得徒劳,尤其是对于C标准,因为他们在编程论坛的大量讨论中被淹没.

要开始这个,因为这些是我现在正在搜索的,那里有很好的在线资源:

  • C89
  • C99
  • C11
  • C++ 98
  • C++ 03
  • C++ 11
  • C++ 14

c c++ standards c++-faq

394
推荐指数
8
解决办法
12万
查看次数

动态分配对象数组

这是一个初学者的问题,但我很长一段时间没有做过C++,所以这里......

我有一个包含动态分配数组的类,比方说

class A
{
    int* myArray;
    A()
    {
        myArray = 0;
    }
    A(int size)
    {
        myArray = new int[size];
    }
    ~A()
    {
        // Note that as per MikeB's helpful style critique, no need to check against 0.
        delete [] myArray;
    }
}
Run Code Online (Sandbox Code Playgroud)

但现在我想创建一个动态分配的这些类的数组.这是我目前的代码:

A* arrayOfAs = new A[5];
for (int i = 0; i < 5; ++i)
{
    arrayOfAs[i] = A(3);
}
Run Code Online (Sandbox Code Playgroud)

但这种情况非常糟糕.因为在循环迭代完成时,A(通过A(3)调用)创建的新对象会被破坏for,这意味着myArrayA实例的内部delete []变为-ed.

所以我认为我的语法必定是非常错误的?我想有一些看起来像矫枉过正的修复,我希望避免:

  • 为...创建复制构造函数A …

c++ pointers destructor memory-management copy-constructor

56
推荐指数
3
解决办法
13万
查看次数

C++拷贝构造函数和浅拷贝

假设我有一个具有许多显式(静态分配)成员的类和几个动态分配的指针.

当我在巫婆中声明一个复制构造函数时,我会手动分配成员的深层副本,我不想复制每个静态分配的成员explicite.

如何在显式复制构造函数中使用隐式(默认)复制构造函数?

c++

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