c++ - 使用结构体作为指针定义变量

标签 c++ pointers struct

我想使用struct来定义变量。
使用结构体作为指针定义变量还是不使用指针更好?

例如,这是我的结构:

 struct mystruct {
    //data members
    double x, y, z; 
}

我在下面的代码中使用了它:

  void main() {
    mystruct s1;                    //form 1
    mystruct  * s2 = new mystruct;  //form 2
    //.....
}

使用哪种变量定义更好? s1 还是 s2 ?

最佳答案

如果可行的话,使用对象总是更好,即不是指针。

  1. 使用对象比使用指针和从堆分配内存更快。

  2. 使用对象可以使代码行更少、更简洁。

  3. 使用对象可以避免在不需要内存时需要释放内存的问题。

关于c++ - 使用结构体作为指针定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33980433/

相关文章:

C++标准写法: Does "through all iterators in the range" imply sequentiality?

c++ - boost shared_from_this 和析构函数

c++11 多读取器/多写入器队列,使用原子处理对象状态和永久递增索引

c++ - 为什么不能直接初始化 int* 数组,而 char* 数组可以?

c# - 如果您可以创建不可为空的引用类型怎么办?

go - 包含嵌入的结构 slice 的结构

c# - 在 C# 中将新结构分配给数组时会发生什么?

c++ - 如何根据容器中对象的类型来判断调用哪个函数?

使用指针的 C++ 复制构造函数

iphone - 使用 NSCopy 复制包含指针的自定义对象?