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



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

Потому что автора этого кода в детстве уронили головой о бетонный пол.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как понимать запись: const char *_fileName
    #39874590
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Как понимать запись: const char *_fileName
    #39874591
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как понимать запись: const char *_fileName
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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