相关疑难解决方法(0)

如何根据C编程语言标准初始化结构

我想初始化一个struct元素,在声明和初始化中拆分.这就是我所拥有的:

typedef struct MY_TYPE {
  bool flag;
  short int value;
  double stuff;
} MY_TYPE;

void function(void) {
  MY_TYPE a;
  ...
  a = { true, 15, 0.123 }
}
Run Code Online (Sandbox Code Playgroud)

这是MY_TYPE根据C编程语言标准(C89,C90,C99,C11等)声明和初始化局部变量的方法吗?或者有什么更好或至少工作?

更新我最终得到一个静态初始化元素,我根据自己的需要设置每个子元素.

c struct initialization

435
推荐指数
10
解决办法
73万
查看次数

C++中struct和class之间有什么区别?

这个问题已在C#/ .Net的背景下提出.

现在我想学习C++中结构和类之间的区别.请讨论技术差异以及在OO设计中选择其中一个的原因.

我将从一个明显的区别开始:

  • 如果您没有指定public:or private:,则结构的成员默认是公共的; 默认情况下,类的成员是私有的.

我确信在C++规范的模糊角落中还有其他差异.

c++ oop struct class c++-faq

427
推荐指数
11
解决办法
34万
查看次数

使用非平凡的构造函数初始化联合

我有一个结构,我创建一个自定义构造函数来将成员初始化为0.我在较旧的编译器中看到,当处于释放模式时,如果没有将memset设置为0,则不会初始化值.

我现在想在union中使用这个结构,但是因为它有一个非平凡的构造函数而得到错误.

那么,问题1.默认编译器实现的构造函数是否保证结构的所有成员都将为null初始化?非平凡的构造函数只是将所有成员的memset设置为'0'以确保结构清晰.

问题2:如果必须在基础结构上指定构造函数,如何实现联合以包含该元素并确保0初始化的基本元素?

c++ constructor multiplatform

55
推荐指数
2
解决办法
5万
查看次数

C++中的默认结构初始化

假设我有一个看起来像这样的结构(一个POD):

struct Foo
{
  int i;
  double d;
};
Run Code Online (Sandbox Code Playgroud)

以下两行之间有什么区别:

Foo* f1 = new Foo;
Foo* f2 = new Foo();
Run Code Online (Sandbox Code Playgroud)

c++ constructor default initialization

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

C++结构和构造函数

关于C++结构的一个简单问题,我还没有找到答案:

我读过结构和类之间的唯一区别是成员可见性.那么,编译器是否为结构提供了默认构造函数?(还有一个默认的copyconstructor,析构函数和赋值运算符?)你能自己定义以上所有内容吗?

谢谢,István

c++ structure

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

我应该在头文件或源文件中使用构造函数实现结构吗?

好吧,我正在编写带有struct [在C++中]的代码,我不确定是在头文件还是源文件中实现struct.

该struct包含一个构造函数:

struct Point
{
    double x;
    double y;

    Point(double xCo, double yCo)
    {
        this->x = xCo;
        this->y = yCo;
    }

    int comparePoint(Point point)
    {
        ...
    }
};
Run Code Online (Sandbox Code Playgroud)

我在头文件中写道:

typedef struct Point point;
Run Code Online (Sandbox Code Playgroud)

它足够好,还是一个糟糕的设计?正如我在一些网站上看到的那样,结构通常在头文件中实现,

但在之前的作业中,我[在C]课程的工作人员为我们提供了一个头文件,其中包括对结构的声明而不是实现.

我在这里看到了与此类似的其他问题,但他们并没有真正回答我的问题.

c++ constructor struct header

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

结构初始化参数

我有一个struct,player,如下:

struct player {
string name;
int rating;
};
Run Code Online (Sandbox Code Playgroud)

我想修改它,以便我用两个参数声明结构:

player(string, int)
Run Code Online (Sandbox Code Playgroud)

它为结构的内容分配这些值.

c++ constructor struct initialization

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

是struct的默认构造函数,就像C++中的类一样

C++ struct是否也像类一样调用构造函数(默认,复制构造函数)和析构函数,或者它们遵循结构的C语言指南?所以在下面的例子中,是一个名为的默认构造函数?

Foo structObject; \\Foo is a struct
Run Code Online (Sandbox Code Playgroud)

c++

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

类和结构之间的差异

我读到类和结构之间的主要区别在于类是引用类型结构是值类型.任何人都可以解释我的价值类型和参考类型意味着什么 ......?

c++ theory structure class

0
推荐指数
2
解决办法
485
查看次数