Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как понимать запись: const char *_fileName / 7 сообщений из 7, страница 1 из 1
10.10.2019, 13:49
    #39874562
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понимать запись: const char *_fileName
я понимаю как указательна символьную константу
причем тут константа, непонятно
...
Рейтинг: 0 / 0
10.10.2019, 13:58
    #39874575
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понимать запись: const char *_fileName
Вижу такой код:
Код: plaintext
1.
2.
3.
4.
5.
static std::wstring CertHash(PCCERT_CONTEXT pCertContext, DWORD dwFlags = CRYPT_STRING_BASE64)
{
	...
	return result.c_str();
}



Почему возвращается указатель на строку, а не сама строка?
...
Рейтинг: 0 / 0
10.10.2019, 13:58
    #39874576
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понимать запись: const char *_fileName
const значит, что char-ы по этому указателю нельзя изменять.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.10.2019, 13:58
    #39874577
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понимать запись: const char *_fileName
const char* - это указатель, ссылающийся на си-строку и в отношении которых компилятор не допустит кода, меняющего значение этой строки посредством этого указателя.
...
Рейтинг: 0 / 0
10.10.2019, 14:01
    #39874580
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понимать запись: const char *_fileName
listtoviewПочему возвращается указатель на строку, а не сама строка?

Потому что автора этого кода в детстве уронили головой о бетонный пол.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.10.2019, 14:08
    #39874590
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понимать запись: const char *_fileName
listtoviewВижу такой код:
Код: plaintext
1.
2.
3.
4.
5.
static std::wstring CertHash(PCCERT_CONTEXT pCertContext, DWORD dwFlags = CRYPT_STRING_BASE64)
{
	...
	return result.c_str();
}




Почему возвращается указатель на строку, а не сама строка?Если программист в функции химичил с символами внутри строки, но не сообщил стрингу, что его длина (как минимум) поменялись, то вернуть может неверно. c_str в числе прочего пересчитывает длину строки в массиве.
...
Рейтинг: 0 / 0
10.10.2019, 14:08
    #39874591
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понимать запись: const char *_fileName
AklinlisttoviewВижу такой код:
Код: plaintext
1.
2.
3.
4.
5.
static std::wstring CertHash(PCCERT_CONTEXT pCertContext, DWORD dwFlags = CRYPT_STRING_BASE64)
{
	...
	return result.c_str();
}





Почему возвращается указатель на строку, а не сама строка?Если программист в функции химичил с символами внутри строки, но не сообщил стрингу, что его длина (как минимум) поменялись, то вернуть может неверно. c_str в числе прочего пересчитывает длину строки в массиве.
Это лишь один из вариантов, вариант с полом тоже имеет место быть, как и то, что функция раньше возвращала что-то другое, но переписать забыли до конца, а компилировать-компилирует и ладно.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как понимать запись: const char *_fileName / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]