Size: a a a

2020 August 03

LA

Liber Azerate in supapro.cxx
Bravis
Во, кстати у меня вопрос по теме, в С++ как строку правильно записать, char str[20] = “hello world”; или std::string str = “hello world”; ?
char str[] = "something"
А так, валидно всё из этого
источник

DK

Demian Karpunov in supapro.cxx
illya palkin
Надо будет знать std::string, не знаю дошел ли ты до него. А там уже 2 основных варианта:
1) через find_first_of() + substr()
2
) через std::sstream, но здесь тебе еще и вектор бы знать
Автор на предыдущей странице рассказывает про методы, сами понимаете) ноо знать наперёд мне не повредит, спасибо!
источник

B

Bravis in supapro.cxx
Liber Azerate
char str[] = "something"
А так, валидно всё из этого
Тоесть и так и так можно и не будет считаться ошибкой, но лучше через char str[], я правильно понял?)
источник

ip

illya palkin in supapro.cxx
Demian Karpunov
Автор на предыдущей странице рассказывает про методы, сами понимаете) ноо знать наперёд мне не повредит, спасибо!
Будет хорошим опытом попробовать с самописным substr + find, без strtok
источник

LA

Liber Azerate in supapro.cxx
Bravis
Тоесть и так и так можно и не будет считаться ошибкой, но лучше через char str[], я правильно понял?)
Да. Зачем указывать размер явно, если он может вывестись из инициализатора?
источник

VD

Vlad Doc in supapro.cxx
Liber Azerate
Да. Зачем указывать размер явно, если он может вывестись из инициализатора?
Затем что строку может будут не один раз использовать
источник

LA

Liber Azerate in supapro.cxx
Vlad Doc
Затем что строку может будут не один раз использовать
Относительно данного примера, конечно. Но я бы всё равно не стал использовать си-строки)
источник

ip

illya palkin in supapro.cxx
illya palkin
Будет хорошим опытом попробовать с самописным substr + find, без strtok
тем более, что для тебя strtok как магия сейчас
источник

B

Bravis in supapro.cxx
Liber Azerate
Да. Зачем указывать размер явно, если он может вывестись из инициализатора?
Да это привычка) в том плане, что если сразу писать строку например char str[] = “hello world”; то это прокатывает, а если делать запрос у пользователя например char str[20]; scanf(“%s”, str); то тут уже нифига не прокатывает, по-любому явно указывать размер, по другому компилятор ругается(
источник

DK

Demian Karpunov in supapro.cxx
Объясните по выделению памяти и доступу, когда я допустим создаю место под список, оно определяется в совершенно рандомном месте моей памяти или все же все другие переменные будут где то поблизости находится к остальным если они созданы в одной программе?
Если я могу получить доступ к соседним ячейкам, превысив доступный адрес за счёт неправильного индекса, я ведь могу так и память другим программам записывать и читать её ? Или в процессе работы программы ос следит за такими вот движениями?
источник

VD

Vlad Doc in supapro.cxx
Bravis
Да это привычка) в том плане, что если сразу писать строку например char str[] = “hello world”; то это прокатывает, а если делать запрос у пользователя например char str[20]; scanf(“%s”, str); то тут уже нифига не прокатывает, по-любому явно указывать размер, по другому компилятор ругается(
Сканф в строку это бан
источник

LA

Liber Azerate in supapro.cxx
Bravis
Да это привычка) в том плане, что если сразу писать строку например char str[] = “hello world”; то это прокатывает, а если делать запрос у пользователя например char str[20]; scanf(“%s”, str); то тут уже нифига не прокатывает, по-любому явно указывать размер, по другому компилятор ругается(
А, если вопрос был о том, как лучше делать в C++, то конечно std::string
источник

B

Bravis in supapro.cxx
Liber Azerate
А, если вопрос был о том, как лучше делать в C++, то конечно std::string
Спасибо)
источник

DK

Demian Karpunov in supapro.cxx
illya palkin
тем более, что для тебя strtok как магия сейчас
Ну автор вроде объяснил что он делает, что я ещё должен знать? Бьёт строчку на токены которые делятся разделителем и возвращает новый токен при каждом вызове, в конце прилетает  nullptr как указание на то, что токены кончились
источник

LA

Liber Azerate in supapro.cxx
Demian Karpunov
Объясните по выделению памяти и доступу, когда я допустим создаю место под список, оно определяется в совершенно рандомном месте моей памяти или все же все другие переменные будут где то поблизости находится к остальным если они созданы в одной программе?
Если я могу получить доступ к соседним ячейкам, превысив доступный адрес за счёт неправильного индекса, я ведь могу так и память другим программам записывать и читать её ? Или в процессе работы программы ос следит за такими вот движениями?
Если именно список, то он будет находиться в рандомных местах. Если обычный массив, то можно и выйти за границу и читать там что-то. Но если вдруг сотрётся диск – расстраиваться не стоит :)
источник

ip

illya palkin in supapro.cxx
Demian Karpunov
Ну автор вроде объяснил что он делает, что я ещё должен знать? Бьёт строчку на токены которые делятся разделителем и возвращает новый токен при каждом вызове, в конце прилетает  nullptr как указание на то, что токены кончились
Ну напиши свой strtok тогда, будет полезно
источник

VD

Vlad Doc in supapro.cxx
Demian Karpunov
Объясните по выделению памяти и доступу, когда я допустим создаю место под список, оно определяется в совершенно рандомном месте моей памяти или все же все другие переменные будут где то поблизости находится к остальным если они созданы в одной программе?
Если я могу получить доступ к соседним ячейкам, превысив доступный адрес за счёт неправильного индекса, я ведь могу так и память другим программам записывать и читать её ? Или в процессе работы программы ос следит за такими вот движениями?
Словишь сегфолт до того как успеешь "пошалить" с чужой памятью. Проверяй.
источник

DK

Demian Karpunov in supapro.cxx
Liber Azerate
Если именно список, то он будет находиться в рандомных местах. Если обычный массив, то можно и выйти за границу и читать там что-то. Но если вдруг сотрётся диск – расстраиваться не стоит :)
Так диск или оперативная память? О.О Я все время думал что это оперативная память.
источник

VD

Vlad Doc in supapro.cxx
Demian Karpunov
Так диск или оперативная память? О.О Я все время думал что это оперативная память.
Вообще можешь хоть ракеты на вашингтон запустить
источник

DK

Demian Karpunov in supapro.cxx
illya palkin
Ну напиши свой strtok тогда, будет полезно
Ну принцип чёрного ящика никто не отменял вроде. 😊 Я не говорю что я знаю, как он изнутри работает
источник