相关疑难解决方法(0)

我应该避免哪些C++陷阱?

我记得首先在STL中学习矢量,经过一段时间后,我想在我的一个项目中使用bool矢量.在看到一些奇怪的行为并做了一些研究之后,我了解到一个bool矢量并不是真正的bool矢量.

在C++中还有其他常见的陷阱需要避免吗?

c++ stl

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

Java FAQ相当于C++ FAQ lite?

是否有任何类似于Parashift C++ FAQ lite的Java FAQ

(像Effective Java这样的书很方便,但我正在寻找一个全面的在线(高级)Java常见问题解答,我可以使用)

c++ java

12
推荐指数
1
解决办法
1125
查看次数

C++新手.关于常量指针的问题

我正在尝试通过一些网络教程学习C++.我没有可用的编译器,否则我会尝试这个.我不确定const指针是什么意思.这只是意味着它总是指向相同的内存地址吗?你为什么要这样做?以下代码是否合法?

...
int * const aPointer = new int;
... //do something with aPointer
delete aPointer;
... //do something else, including possibly more 'new' statements
aPointer = new int;
...
Run Code Online (Sandbox Code Playgroud)

c++ pointers const

5
推荐指数
3
解决办法
1030
查看次数

C++:如果构造函数可能抛出异常,则处理资源(参考FAQ 17.4)

感谢所有的回复.

我重新格式化了我的问题,以便在包含类的构造函数抛出异常之后理解成员指针的状态

我的示例类:)

class Foo
{
public:
    Foo()
    {
       int error = 0;
        p = new Fred;

        throw error;  // Force throw , trying to understand what will happen to p
    }

   ~Foo()
    {
       if (p)
       {
           delete p;
           p = 0;
       }
     }
private:
   Fred* p;
};

int main()
{
      try
      {
         Foo* lptr = new Foo;
      }
      catch (...)
      {}
}
Run Code Online (Sandbox Code Playgroud)

类foo的consturctor会因某些随机原因而抛出异常.我知道foo的desturctor永远不会被调用,但在这种情况下,p的析构函数会被调用吗?

将p作为增强智能指针而不是指向fred的原始指针有什么不同.

谢谢.

c++ exception

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

标签 统计

c++ ×4

const ×1

exception ×1

java ×1

pointers ×1

stl ×1