相关疑难解决方法(0)

什么是三法则?

  • 什么是抄袭的对象是什么意思?
  • 什么是复制构造函数复制赋值运算符
  • 我什么时候需要自己申报?
  • 如何防止复制对象?

c++ c++-faq copy-constructor assignment-operator rule-of-three

2067
推荐指数
8
解决办法
27万
查看次数

构造函数中这个奇怪的冒号成员(":")语法是什么?

最近我见过如下例子:

#include <iostream>

class Foo {
public:
  int bar;
  Foo(int num): bar(num) {};
};

int main(void) {
  std::cout << Foo(42).bar << std::endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这奇怪: bar(num)意味着什么?它似乎初始化成员变量,但我以前从未见过这种语法.它看起来像一个函数/构造函数调用,但对于一个int?对我没有任何意义.也许有人可以启发我.而且,顺便说一下,还有其他类似的深奥语言功能,你永远不会在一本普通的C++书中找到它吗?

c++ syntax constructor c++-faq ctor-initializer

325
推荐指数
11
解决办法
10万
查看次数

C++,构造函数后的冒号是什么意思?

可能重复:
构造函数中的冒号后的变量
C++构造函数语法问题(noob)

我这里有一些C++代码:

class demo 
{
private:
    unsigned char len, *dat;

public:
    demo(unsigned char le = 5, unsigned char default) : len(le) 
    { 
        dat = new char[len];                                      
        for (int i = 0; i <= le; i++)                             
            dat[i] = default;
    }

    void ~demo(void) 
    {                                            
        delete [] *dat;                                           
    }
};

class newdemo : public demo 
{
private:
    int *dat1;

public:
    newdemo(void) : demo(0, 0)
    {
     *dat1 = 0;                                                   
     return 0;                                                    
    }
};
Run Code Online (Sandbox Code Playgroud)

我的问题是,有什么: len(le): demo(0, 0)被称为?

它与继承有关吗?

c++

191
推荐指数
4
解决办法
16万
查看次数

构造函数中冒号后的变量

我还在学习C++并试图理解它.我正在查看一些代码并看到:

point3(float X, float Y, float Z) :
x(X), y(Y), z(Z)  // <----- what is this used for
{
}
Run Code Online (Sandbox Code Playgroud)

位于构造函数参数旁边的"x(X),y(Y),z(Z)"是什么意思?

c++ constructor ctor-initializer

22
推荐指数
2
解决办法
8173
查看次数

结构构造函数语法

可能重复:
C++构造函数名后的冒号是做什么的?

我在网上找到了下面的例子,但是构造函数的语法让我有点困惑,特别是:符号.有人可以给我一个简短的解释吗?谢谢.

struct TestStruct {
    int id;
    TestStruct() : id(42)
    {
    }
};
Run Code Online (Sandbox Code Playgroud)

c++ struct

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

冒号在构造函数中意味着什么?

可能的重复:
C++奇怪的构造函数语法
变量在构造函数中的冒号之后C++构造函数名后面的冒号(:)有
什么作用?

对于下面的C++函数:

cross(vector<int> &L_, vector<bool> &backref_, vector< vector<int> > &res_) : 

    L(L_), c(L.size(), 0), res(res_), backref(backref_) {

    run(0); 

}
Run Code Online (Sandbox Code Playgroud)

冒号(":")告诉左右两部分之间的关​​系是什么?可能,这段代码可以说什么呢?

c++ syntax initialization ctor-initializer

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

请解释我的结构定义中的冒号?

可能重复:
C++构造函数名后的冒号是做什么的?

我正在读一本关于CUDA的书,我在阅读这个C++语法时遇到了麻烦.我不知道该搜索什么,这就是我在这里发帖的原因.

struct cuComplex {
    float   r;
    float   i;
    cuComplex( float a, float b ) : r(a) , i(b)  {}
}
Run Code Online (Sandbox Code Playgroud)

cuComplex声明的作用是什么?特别:

cuComplex( float a, float b ) : r(a) , i(b)  {}
Run Code Online (Sandbox Code Playgroud)

这叫什么,所以我可以了解它?

c++ syntax ctor-initializer

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

这是什么语法?

可能重复:
C++构造函数名后的冒号是做什么的?

我发现这个语法在C++中很奇怪

TagDetails::TagDetails(QWidget *parent) :
QDialog(parent),
ui(new Ui::TagDetails)
Run Code Online (Sandbox Code Playgroud)

这是C++中构造函数的声明......冒号后的东西代表什么,即ui(new Ui :: TagDetails)在这里是什么意思?结肠是什么?

c++ constructor ctor-initializer

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

请帮助理解C++:运算符

请问有人能告诉我这个操作符在C++函数中的功能吗?

class simplecanny
{
    ros::NodeHandle nh_;
    ros::NodeHandle n;
    ros::Publisher pub ;
    image_transport::ImageTransport it_;    
    image_transport::Subscriber image_sub_; //image subscriber 
    image_transport::Publisher image_pub_; //image publisher(we subscribe to ardrone image_raw)
    std_msgs::String msg;
    public:
    *** simplecanny()
        : it_(nh_) ***
    {
        image_sub_ = it_.subscribe("/ardrone/image_raw", 1, &simplecanny::imageCb, this);
        image_pub_= it_.advertise("/arcv/Image",1); 
    }

    ~simplecanny()
    {
        cv::destroyWindow(WINDOW);
    }

    ...
Run Code Online (Sandbox Code Playgroud)

simplecanny() : it_(nh_)构造函数中,我不熟悉该: it_(nh_)部分.它有什么作用?这是运算符重载的情况吗?

提前致谢!

c++ opencv operators ros

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