Форум программистов, компьютерный форум CyberForum.ru

как элегантно писать код STL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Количество элементов в массиве http://www.cyberforum.ru/cpp-beginners/thread263639.html
Всем привет. у меня есть массив на 100 элементов, и я в него в ношу 3 элемента. double mas; int kol; mas=0; mas=1; mas=2;
C++ Динамическая память. Всем привет! Уважаемые знатоки, можете посмотреть мою реализацию класса вектор? У меня при их большем количестве в программе вечно выпадают ошибки доступа к памяти или она просто зависает. Может я допустил где нибудь совсем уж глупую ошибку при выделении динамической памяти? #pragma once class TVector { public: http://www.cyberforum.ru/cpp-beginners/thread263638.html
Преобразовать массив, увеличив каждую его серию на один элемент C++
Здравствуйте! Будьте добры, помогите решить задачу: Дан целочисленный массив размера N. Преобразовать массив, увеличив каждую его серию на один элемент. #include <iostream> #include <vector> using namespace std; int main() {
C++ Обработка двумерных массивов.
Запрограммировать заполнение матрицы произвольного размера m*n числами 1,2,3,4,5,6...со схеме 1(2). Матрицу задать фиксированного большого размера M*N, где M, N - константы, заданные в тексте программы. Размеры m, n задать переменными, вводимыми при работе программы с проверкой условия m<=M и n<=N. Схема 1. 5 6 7 8 9 10 ...
C++ C++ заполнение квадратной матрицы змейкой по вертикали http://www.cyberforum.ru/cpp-beginners/thread263617.html
помогите пожалуйста!!!!заполнить квадратную матрицу змейкой по вертикали!!! вот так: 1 8 9 2 7 10 3 6 11 4 5 12... зарание благодорю!!!:)
C++ ifstream/ofstream/fstream #include <fstream> fstream autosave; autosave.open("...autosave.txt"); char x; autosave << x; cout >> x; подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17392 / 5630 / 352
Регистрация: 30.03.2009
Сообщений: 15,417
Записей в блоге: 26
25.03.2011, 17:48     как элегантно писать код STL
Я не большой специалист по Си++, но не понимаю, почему такие сложные наовроты на простые вопросты:

1. Вместо "Как записать правильней с помощью СТЛ" должен быть подставлен код
C++
1
2
std::vector<int> vec;
vec.resize (10);
2. На Си такая запись прокатит в незаполненом массиве,как правильно записать с помощью СТЛ.

В твоём тесту у тебя указатель a не инициализирован. Если подразумевается, что у тебя всё-таки нормально проинициализированный вектор, то

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// используем ссылку вместо указателя, чтобы не было возможности использовать
// неинициализировнную память. В правой части присваивания подразумеваем
// некий объект-vector, который ещё незаполнен (т.е. в нём 0 элементов)
std::vector<int> &a = ....;
 
// В исходном примере максимальный индекс - это 3, а потому нам надо выделить
// как минимум 4 элемента в массиве
a.resize (4);
 
// Заполняем элементы
a[3] = 1;
a[0] = 434343;
a[1] = 4343;
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru