private:
 // data containing character strings
 // shared by Strings when copying/assigning
 struct SharedData
 {
   char *data; // 0-terminated char array
   size_t n;      // number of non-0 characters in string
   size_t count;  // reference count, how many Strings share this object?
 };

 SharedData *shared; //here i don't understand how to use.


如何使用n?

我只是这样做吗

shared -> n = 3;


我不断出现细分错误,所以我不知道自己在做什么。我想获取一个字符串的长度,然后将其传递给n进行存储

最佳答案

您的类包含一个指向SharedData的指针。您需要使指针指向某物,大概是通过这样做

shared = new SharedData();
shared->n = 3;
// etc.


共享内部的数据也是如此

shared->data = new char[100];
strcpy(shared->data, ...);


如果您还没有很好地掌握指针,我觉得这对您来说将是一项艰巨的练习。

关于c++ - 如何使用带有*变量名的Struct?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19046336/

10-12 13:53