如何在字符串向量中指向 const int?

Posted

技术标签:

【中文标题】如何在字符串向量中指向 const int?【英文标题】:how can i make a pointing to const int inside a string vector? 【发布时间】:2019-11-08 09:28:25 【问题描述】:

我正在尝试制作一个程序,其中存储客户信息的结构和指针。但我无法让向量指向 const 值。

struct costumer 
   string name;
   string email_adress;
   int *subscription ????

我可以添加客户名称和电子邮件地址,但我试图让结构存储已售出的订阅。例如,有人以每年 100 美元的价格购买了年度电视订阅。我添加订阅然后电视然后 100 它应该显示电视(100)。客户可以将多个订阅存储在一个向量中。所以订阅 = television(100), internet(50),...,netflix(20)。因此,如果要求查看客户有哪些订阅。它显示这些。如果我不是很清楚对不起英语不是你的第一语言。

【问题讨论】:

我不知道你为什么在这里说字符串和向量,但是写一个指针——它们根本不是一回事。如果你想要一个指向整数的指针,你可以写int const *const int *,它的值不能通过该指针改变。 抱歉我重写了这个问题。感谢您的回答。 为什么不使用普通的 int(或 int 数组)而不是指针?我相信你的指针后面没有有效的地址。 它在向量中的一种向量。我认为指针是要走的路。所以它是一个向量,我可以在其中添加订阅。然后在这些订阅中我可以添加成本。 IIUC 您想为每个订阅存储名称/价格对,std::map<std::string, int> 非常适合(假设客户最多只有一种订阅 - 否则 @987654325 @)。 【参考方案1】:

订阅应包含他订阅的内容和费用的信息。 int* 不足以存储两者。一种可能的解决方案可能是创建订阅结构。

typedef struct subscription
 string subscribed_to;
 int    cost;
 subscription;

struct customer
 string name;
 string email_id;
 int num_of_subscriptions;
 subscription subs[20];
;

【讨论】:

以上是关于如何在字符串向量中指向 const int?的主要内容,如果未能解决你的问题,请参考以下文章

const数组如何只能在每个元素中包含字符,但char *数组能够指向每个元素中的字符串?

typedef 模板,接受指向 const 和非 const 函数的指针

C++,成员函数返回对包含指向 const 对象的指针的向量的 const 引用

在向量中添加每个int 到一个字符串

如何使 const 适用于作为共享指针的 C++ 类成员

如何在 STL 中使用指向向量的指针,就像我们在将数组地址传递给另一个函数时将指针分配给数组一样?