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

Передача функции указатель на элемент std::vector<std::string> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стеки http://www.cyberforum.ru/cpp-beginners/thread596607.html
Создать стек с числами в диапазоне от –50 до +50.Создать новый стек, в который поместить каждый третий элемент пер-вого стека.
C++ Не открывается файл #include <stdio.h> #include <iostream> #include <cstdlib> #include <fstream> #include <string> using namespace std; int main(){ int z = 0; FILE* file = fopen("123.txt", "r"); http://www.cyberforum.ru/cpp-beginners/thread596606.html
C++ Не работает элементарнейший код
int _tmain() { vector<double> numbers; double number = 0; const double abs_mistake = 0.1; double num_mistake = 0; cout << "Input 2 numbers and press '|': \n"; while(cin >> number) numbers.push_back(number);
C++ TreeView данные об узле (WINAPI)
Доброго времени суток :) Существует ли возможность для узлов в TreeView хранить больше информации об элементе, чем одно название? Или необходимо создать свою структуру "дерево" и хранить ее абсолютно отдельно? А в treeview, как элементы, подсовывать только названия узлов? Как быть, если названия узлов, не уникальные ???? О_о Добавлено через 11 минут Может можно ему подсунуть каким то...
C++ Переписать элементы с массива с одного в другой http://www.cyberforum.ru/cpp-beginners/thread596574.html
11.246* Дан массив. Переписать его элементы в другой массив такого же размера следующим образом: сначала должны идти все отрицательные элементы, а затем все остальные. Использовать только один проход по исходному массиву. #include <iostream> #include <ctime> using namespace std; int main () { setlocale (LC_CTYPE, "Russian"); srand(time(NULL));
C++ Как писать код по стандарту Извините, что создал тему скорей всего в неподходящей ветке. Но все же. Где-то читал (к сожалению не помню где) как нужно писать код по стандарту: Ну что то типа имена переменных класса начинать со знака подчеркивания. Методы класса еще как то. Плз напомните что за стандарт, если можно - то ссылочку. Заранее спасибо подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.06.2012, 12:59     Передача функции указатель на элемент std::vector<std::string>
Да, тогда &((*v)[i]), так как v[i] теперь - i-й элемент массива векторов, а там только один 0-й элемент (даже если в new не было квадратных скобок, то [0] всё равно допускается, так как
C++
1
2
3
int *p=new int;
int x;
x=p[0];
эквивалентно
C++
1
2
3
int *p=new int;
int x;
x=*(p+0);
), это ещё и выход за массив. v[0] и *v - 0-й вектор, (v[0])[i] и (*v)[i] - i-й элемент нулевого вектора, а &((v[0])[i]) и &((*v)[i]) - адрес i-го элемента нулевого вектора. По логике таких деклараций именно SomeF(&((v[0])[i])). Но зачем? Если вектор один, то нафига сам вектор пихать в кучу? В куче должны быть только его элементы. Так что *v фигнёй всё равно пахнет.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru