如何在字符串向量中指向 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 函数的指针