1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 104
|
||||||
1 | ||||||
Ипользование const с указателем, параметром функции11.04.2013, 19:02. Показов 2291. Ответов 8
Метки нет Все метки)
(
Здравия желаю!
![]() Хотелось бы узнать, как можно работать с параметрами-указателями при работе функций вроде
Во 2м - значения элементов массива можно менять, но не копию указателя. В 3м - Нельзя менять значение 1го элемента, но можно копию указателя(опять-таки предусмотрев освобождение памяти). В 4м - Нельзя менять значение 1го элемента и копию указателя. Просьба сказать, прав ли я в своих домыслах, а если не прав, то где именно.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
1
|
|
11.04.2013, 19:02 | |
Ответы с готовыми решениями:
8
Сеттер с const параметром
Const char несовместим с параметром типа FILE const& и const* в имени функции |
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
11.04.2013, 19:08 | 2 |
Все что слева от * относится к данным. Справа к указателю.
0
|
340 / 324 / 101
Регистрация: 03.02.2013
Сообщений: 981
|
||||||||||||||||
11.04.2013, 19:12 | 3 | |||||||||||||||
однако заметьте, что по стандарту функция с сигнатурой
а
1
|
1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 104
|
|
11.04.2013, 19:15 [ТС] | 4 |
Это понятно. Мне надо понять: при const справа от *, значения pointer[1..n] менять можно?
Добавлено через 2 минуты abit, то есть, чтобы создать абсолютно несгибаемый указатель нужно const char const *a
0
|
340 / 324 / 101
Регистрация: 03.02.2013
Сообщений: 981
|
|||||||||||
11.04.2013, 19:20 | 5 | ||||||||||
1) ваш код
тут const относится к c, а тип данных просто - char * 2) не const char const *a а, вы правильно написали:
но даже в таком случае я бы не сказал что он совсем не сгибаемый, можно кастануть const_cast<char*> и уже на вашей совести будет если же вы по поводу 1-го не первого элемента - они все будут не изменны в const char * c, не только первый
0
|
1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 104
|
|
11.04.2013, 19:26 [ТС] | 6 |
abit, то есть запретить изменение элементов по адресу нельзя, только самого адреса?
Или можно с помощью const char* и char*... Именно они регулируют это?
0
|
340 / 324 / 101
Регистрация: 03.02.2013
Сообщений: 981
|
|
11.04.2013, 19:29 | 7 |
ещё раз
const char* p - запрещает менять данные в массиве , а сам указатель p - сдвигать имеете право char * const p - запрещает менять указатель p, а данные по (*p) - пожалуйста const char * const p - запрещает и то и другое
1
|
1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 104
|
|
11.04.2013, 19:32 [ТС] | 8 |
0
|
![]() 3645 / 1377 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
11.04.2013, 21:35 | 9 |
1
|
11.04.2013, 21:35 | |
Помогаю со студенческими работами здесь
9
Проблема с заданием шаблона метода с параметром const std::function<T()> int const * const foo(const int* param) const - разъясните значение квалификаторов Аргумент типа const char* не совместим с параметром типа LPCWSTR Аргумент типа const char* не совместим с параметром типа LPCWSTR Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |