动态数组读取
Dynamic array - reading
class Sesion
{
private:
int wymiar = 2;
int **tablica = new int *[wymiar];
int licznik = 0;
void save(int x, int y)
{
for (int i = 0; i < wymiar; i++)
tablica[i] = new int[wymiar];
tablica[0][licznik] = x;
tablica[1][licznik] = y;
licznik++;
}
void open()
{
for (int i = 0; i < licznik; i++)
{
cout << tablica[0][i] << endl;
}
}
}
我不知道如何读取open()
的值,因为我在那里得到奇怪的数字。
在save()
中,一切都很完美。我必须将x和y保存在无限数组中,然后从中读取这些值。
我知道我可以使用Vector但是我需要使用Dynamic Array
你让你的生活不必要地复杂化了。以一种安全的方式自己管理内存分配/释放将是一个难题。更不用说您的代码还会受到内存泄漏的影响。
我也注意到你总是保存一对int
s。您应该使用std::pair
或自定义结构/类,而不是使用std::vector
。
下面是一个例子:
class Sesion {
private:
std::vector<std::pair<int, int>> tablica;
public:
void save(int x, int y) {
tablica.emplace_back(x, y);
}
void open() {
for (auto p : tablica)
std::cout << std::get<0>(p) << ',' << std::get<1>(p) << 'n';
}
};
现场演示
考虑使用std::vector
,例如
class Sesion
{
private:
struct Point { int x, y; };
std::vector<Point> points_;
public:
void save(int x, int y)
{
points_.push_back( Point{x, y} );
}
void open()
{
for ( Point const& point : points_ )
{
cout << point.x << " " << point.y << endl;
}
}
};
相关文章:
- 当我在 CLion 中读取数组中的 txt 文件时C++编码问题
- For 循环在尝试读取数组 c++ 时程序崩溃
- 从文件中读取数组没有给出正确的值?
- (C/C++)fscanf_s从txt文件以字符形式读取数组时缺少整数参数错误
- C++:无法读取数组中的内容
- 读取数组的第一个元素还是第 4000 个元素更快?
- 为什么并行读取数组会导致内存泄漏?
- 读取数组中每个对象的所有键值对
- C++ 从指定范围内的文件中读取数组
- MPI_Get仅从共享内存区域读取数组的第一个元素
- 如何使用指针函数编写/读取数组
- 程序仅读取数组中 6 个值中的 4 个
- ARDUINO LCD:通过读取数组生成导航菜单
- 如何从 Arduino 库中读取数组
- 尝试创建一个读取数组并打印质数的程序
- 因为每个循环都读取数组错误
- 在 Linux 上使用 Getenv 在 C++ 中读取数组环境变量
- 如何在c++中读取数组中的输入文件
- 动态设置数组大小并从文本文件中读取数组值
- 从boost::p roperty_tree读取数组显示为空白