将动态空间分配给字符串数组时出现问题
Trouble when assign dynamic space to string array?
我是C编程的新手。我试图让以下代码工作,但失败了。
#include <iostream>
#include <string>
#include <stdlib.h>
#include <stack>
using namespace std;
int main()
{
string* ps = (string*) malloc(9*sizeof(string));
ps[0] = "jasdhk";
ps[1] ="rty";
ps[2] = "tyu";
return 0;
}
有什么建议吗?
该代码实际上是 C 和 C++ 的混合体,在这两种语言中都无效。
C++头(iostream
、string
和stack
(的使用在C语言中是无效的。 同样,using namespace std
是C++,而不是C。
malloc()
为构造函数分配C++类型是无效的,因为 C 库函数不会调用C++对象的构造函数。 std::string
(这是string
解析的名称,由于在这种情况下使用了<string>
和using namespace std
(是一个(typedef
用于a的专用(C++带有构造函数的模板类。
要么放弃malloc()
并使用运算符new
来动态分配C++对象,或者更好的是使用 std::vector<std::string>
来动态管理std::string
集合。
相关文章:
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 输入std::数组时出现问题
- 类对象数组的问题会导致崩溃
- 传递二维数组时出现问题
- 从 C++ 中的函数返回数组地址问题
- 使用数组时出现问题
- 打印问题.我在数组中打印值时遇到一些问题
- C++:__aligned(__alignof__) 导致字符数组数据出现问题?
- 将字节数组转换为带有字节序问题的指针
- C++ 填充数组时遇到问题
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 当我尝试通过 arduino 上的引用传递布尔数组时出现问题
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 编写 cin.get() 以接收字符数组时出现问题
- 在 C++ Consol 中的数组中执行用户命令时出现问题
- 存储另一个函数返回的布尔数组时遇到问题
- 当我在 CLion 中读取数组中的 txt 文件时C++编码问题
- 运行时C++数组初始化问题
- 我在解决此错误时遇到问题.我正在努力在主函数中传递数组