Я бы не рекомендовал такое хранить в локалсторадже. Не безопасно. Если злоумышленник его узнает, то у него будет все для взлома. Юзайте куки, сессии и прочие прелести для нормальной авторизации.
а вот лучше KDevelop - ну, каждому свое :D
int** array2D - указатель на указатель на int ?
new int*[SIZE] - массив указателей на int ?
а дальше по коду я не понимаю зачем тут array2D[i] = new int[SIZE * 2];
#include <iostream>
#include <vector>
template <typename T>
void print2DFlatArray(const T* array, const size_t rows, const size_t columns)
{
for (size_t y = 0; y < rows; ++y) {
for (size_t x = 0; x < columns; ++x) {
std::cout << array[y * columns + x] << " ";
}
std::cout << std::endl;
}
std::cout << std::endl;
std::cout << std::endl;
}
int main()
{
const size_t SIZE = 10;
int* array = new int[SIZE * SIZE];
array[0] = 10;
array[SIZE + 1] = 11;
array[2 * SIZE + 2] = 12;
print2DFlatArray(array, SIZE, SIZE);
return 0;
}
#include <iostream>
#include <vector>
template <typename T>
void print2DFlatArray(const T* array, const size_t rows, const size_t columns)
{
for (size_t y = 0; y < rows; ++y) {
for (size_t x = 0; x < columns; ++x, ++array) {
std::cout << *array << " ";
}
std::cout << std::endl;
}
std::cout << std::endl;
std::cout << std::endl;
}
int main()
{
const size_t SIZE = 10;
int* array = new int[SIZE * SIZE];
array[0] = 10;
array[SIZE + 1] = 11;
array[2 * SIZE + 2] = 12;
print2DFlatArray(array, SIZE, SIZE);
return 0;
}
Зачем делать из обычного двумерного массива массив указателей?
Почему бы не сделать вот так:
int* array2D = new int[SIZE * SIZE];
int** array2D = new int*[SIZE] - вот это что значит int*[SIZE] - еще разыменование ?
мне не понятно где то пишут что когда передаешь указатель в функцию ты ты должен отдать ссылку на объект