gpt4 book ai didi

c++ - 声明数组并稍后赋值

转载 作者:行者123 更新时间:2023-11-28 00:54:56 25 4
gpt4 key购买 nike

您好,我想声明一个全局数组,并且我想稍后在数组中设置项目。所以最后数组将包含这样的元素。

   const char *payload_text[]= new const char(){"To: " TO "\n","From: " FROM "\n","Cc: " CC 
"\n","Subject: Test2 \n", "\n", "Testing using methods ver1.\n",NULL };

抱歉,我对此完全陌生,我得到了一个没有 C++ 背景的 C++ 作业。请指教

最佳答案

在 C++ 中,不可能使用与您提供的代码类似的代码来实现您的目标。

编辑:至少如果您想动态添加项目则不需要。其他答案中发布的代码 galadog 只有在声明 vector 时初始化 vector 时才会起作用。

但是,在运行时创建和/或填充数组有多种可能性。

最接近您示例的方法是

char **payload_text;
// ...
payload_text = new char*[number_of_entries];
payload_text[0] = "To: ..."
payload_text[1] = "From: ..."
// ... and so on.

但是,您使用 new 分配的内存不是由 C++ 管理的(我假设您来自 C# 和/或 Java)。您必须手动释放它以避免内存泄漏。

更好的(更多 C++)方法是使用像 std::vector 这样的 STL 容器以及动态管理字符串的类:std::string

// Beginning of your source code
#include <vector>
#include <string>

//...

std::vector<std::string> payload_text;
//...
payload_text.push_back("For...");
payload_text.push_back("To...");

这还允许您添加更多字符串而无需重新分配数组。

我建议您阅读一些有关标准库的教程,因为它将以多种方式简化编程常见任务。

关于c++ - 声明数组并稍后赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12026759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com