相关疑难解决方法(0)

什么是复制和交换习语?

这个成语是什么,什么时候应该使用?它解决了哪些问题?当使用C++ 11时,成语是否会改变?

虽然在许多地方已经提到过,但我们没有任何单一的"它是什么"问题和答案,所以在这里.以下是前面提到的地方的部分列表:

c++ c++-faq copy-constructor assignment-operator copy-and-swap

1907
推荐指数
5
解决办法
34万
查看次数

C++移动语义和异常

在即将推出的C++ 0x标准中,当在移动构造函数中/期间抛出异常时会发生什么?

原始物体会保留吗?或者是处于未定义状态的原始对象和移动对象?语言提供的保证是什么?

c++ exception move-semantics c++11

26
推荐指数
2
解决办法
4449
查看次数

在c ++中返回重载赋值运算符的类型

可能重复:
为什么复制赋值运算符必须返回引用/ const引用?
Operator =在C++中重载

我已经问过一个关于这个赋值运算符重载的问题.我可能会问一个愚蠢的问题.对不起.

我的班级声明是这样的:

class Circle
{
    public:
       Circle();
       Circle(const Circle &);
       Circle(unsigned short rad);
       unsigned short getRadius() const { return itsradius; }
       void setRadius(unsigned short rad) { itsRadius = rad; }
    private:
       unsigned short itsRadius:
};
Run Code Online (Sandbox Code Playgroud)

我的班级定义:

Circle::Circle()
{
   itsRadius = 0;
}
Circle::Circle(unsigned short rad)
{
   itsRadius = rad;
}
Circle::Circle(const Circle & rhs)
{
   itsRadius = rhs.getRadius();
}
Run Code Online (Sandbox Code Playgroud)

我正在重载赋值运算符,如下所示:

SimpleCircle & SimpleCircle::operator=(const SimpleCircle & rhs)
{
   itsRadius = rhs.getRadius();
   return *this;
}
Run Code Online (Sandbox Code Playgroud)

当我们处理当前对象如"itsRadius = …

c++ operator-overloading

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