Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
0 / 0 / 0
Регистрация: 02.11.2025
Сообщений: 1

Подводные камни

02.11.2025, 15:02. Показов 7596. Ответов 87

Студворк — интернет-сервис помощи студентам
Какие основные ошибки совершают начинающие при изучении C++ и как их избежать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2025, 15:02
Ответы с готовыми решениями:

Подводные камни клиент-серверного приложения
Здравствуйте дорогие Хорошую статью дал мне Vitaly1981 http://citforum.ru/book/cook/winsock.shtml ...

Подводные камни в стеке, в очереди, в списке
какие могут быть ошибки в структурах данных? например, вот в очереди начало может догнать конец....

Какие подводные камни могут быть, при хранении в контейнере элемента типа void*?
Привет читателям! Какие подводные камни могут быть, при хранении в контейнере элемента типа void*?...

87
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
07.11.2025, 17:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Алексей1153 Посмотреть сообщение
_Ivana, при чём тут какие-то книжки.
Да ни при чем, просто думал, что с адекватным собеседником общаюсь. А вы уже дошли до того, что отождествляете стандартную либу с плюсами, а ассемблерам и сям отказываете в таковой (со всеми векторами и мапами в наличии).

Цитата Сообщение от XLAT Посмотреть сообщение
прямо чувствуется, что это какая-то очень специфическая весчъ...
Если бы вы знали, что Лисп это означает буквально сокращение от "Лист процессинг", что на русский в данном контексте переводится как "вычисление списков", то для вас это не звучало бы странно.
0
07.11.2025, 17:07

Не по теме:

Цитата Сообщение от XLAT Посмотреть сообщение
так вики ваши пишут
не знаю, кто пишет. Наверное, и ты може писать.

0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,077
Записей в блоге: 3
07.11.2025, 17:44
Цитата Сообщение от _Ivana Посмотреть сообщение
сли бы вы знали, что Лисп это означает буквально сокращение от "Лист процессинг", что на русский в данном контексте переводится как "вычисление списков", то для вас это не звучало бы странно.
ок.
если в моем контексте данного форума:

была(и есть) такая тема в разделе "Программирование игр"

суть:
1. есть окно с двумя суб-окнами.
2. в окне 1 находится некая рандомная система.
3. система имеет программные(через апи) датчики и контролы(функция с командой в аргументе).
4. в окне 2 находится интерпретатор, который подключается к окну 1 через упомянутое выше апи.
5. нужно разработать такой интерпретатор, который мог бы делать вычисление над сигналами датчиков и ...
6. отправлять управляющий сигнал обратно к системе.
7. синтаксис интерпретатора может выглядеть как бейсик, ну, чем проще, тем лучше...
8. прога, напоминаю, для детей... для развития мышления))
9. в окне 2 игроки лапками должны на _скрипте писать, собсно, сам код скрипта, который бы управлял системой в окне 1.

...

_Ivana, итак, уважаемый лектор, у меня к вам вопрос:
1. Как сложно будет сделать такой интерпретатор вашим студентам?
2. Какое расчетное время вы на эту задачу им выделяете?
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
07.11.2025, 18:07
Цитата Сообщение от XLAT Посмотреть сообщение
суть:
Это не суть, а какая-то ерунда. Окна, субокна, контролы... Когда вся задача интерпретатора - получить входные данные, обработать их каким-то образом и выдать результат, то есть банально логика преобразования. Возможно, в вашем представлении есть образ этой проги для детей (Ардуинка с роботом или Черепашка с Лего/Скратчем), но донести этот образ через представленное вами описание не удалось. А по сути - ничего не надо делать, он уже готов. Преобразовывать входные данные в выходные вполне умеет

Возможно, пример этой игры на интерпретаторе может показать возможности и сойти за "прогу для детей": https://ivanov-andrey.itch.io/labyrinth-v2
0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,077
Записей в блоге: 3
07.11.2025, 18:11
Цитата Сообщение от _Ivana Посмотреть сообщение
Преобразовывать входные данные в выходные вполне умеет
простейший парсер в одну функцию отлично подходит к этому вашему утверждению.

речь идет про конкретную задачу - не нужно навешивать про черепашки со скрачом.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6213 / 2910 / 1045
Регистрация: 01.06.2021
Сообщений: 10,746
07.11.2025, 18:27
Цитата Сообщение от _Ivana Посмотреть сообщение
пример этой игры
я бы hole переименовал на portal или на teleport или на warp. Ну или если нравится это слово, то на wormhole. Просто я так сразу не понял, что оно делает, пока не включил отображение карты.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
07.11.2025, 18:33
Цитата Сообщение от XLAT Посмотреть сообщение
речь идет про конкретную задачу
Это ваша задача, решайте ее, если вам нравится. У меня нет желания даже вникать. Тем более, что я и так уже дал предостаточно ссылок, но, видимо, впустую. Да и оффтоп это - здесь мы обсуждаем простоту, легкость и отсутствие недостатков у С++
0
Злостный нарушитель
 Аватар для Verevkin
10345 / 5763 / 1271
Регистрация: 12.03.2015
Сообщений: 26,617
07.11.2025, 18:39
Цитата Сообщение от Royal_X Посмотреть сообщение
Габидж Цэлектэ)
Шошо? Не розумiю це.
0
фрилансер
 Аватар для Алексей1153
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
07.11.2025, 18:42
Цитата Сообщение от Royal_X Посмотреть сообщение
Ведь, по ISO C++ нижнее подчеркивание зарезервировано
это когда за первым подчёркиванием следует заглавная буква. С маленькой можно


Цитата Сообщение от _Ivana Посмотреть сообщение
просто думал, что с адекватным собеседником общаюсь
да, мне тоже сначала так показалось. Удачно дальше вариться в своих фантазиях
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6213 / 2910 / 1045
Регистрация: 01.06.2021
Сообщений: 10,746
07.11.2025, 18:44
Цитата Сообщение от Verevkin Посмотреть сообщение
Не розумiю це.
А ну скажи "Паляниця"

Verevkin, garbage collector - GC - на великорусский язык переводится как ГЦ. Почему это так - сам не знаю. Ведь, должно было быть СМ - сборщик мусора. Видимо, СМ ассоциируется с Советом министров, и чтобы не обидеть министров, пишут ГЦ.
0
Злостный нарушитель
 Аватар для Verevkin
10345 / 5763 / 1271
Регистрация: 12.03.2015
Сообщений: 26,617
07.11.2025, 18:47
Цитата Сообщение от Royal_X Посмотреть сообщение
А ну скажи "Паляниця"
А ну скажи "Сыктывкар"!!

Добавлено через 1 минуту
Цитата Сообщение от Royal_X Посмотреть сообщение
сборщик мусора
Мы ща про С++ или про C#?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6213 / 2910 / 1045
Регистрация: 01.06.2021
Сообщений: 10,746
07.11.2025, 18:49
Цитата Сообщение от Алексей1153 Посмотреть сообщение
это когда за первым подчёркиванием следует заглавная буква. С маленькой можно
про маленькую там тоже написано, что зарезервировано, но только в глобальном пространстве. А именно, там написано, что в любом scope зарезервировано, когда следует заглавная или когда двойное нижнее подчеркивание. А в глобальном пространстве уже не написано, что обязательно должна следовать заглавная.

Reserved in any scope, including for use as implementation macros:
- identifiers beginning with an underscore followed immediately by an uppercase letter
- identifiers containing adjacent underscores (or "double underscore")
Reserved in the global namespace:
- identifiers beginning with an underscore

Добавлено через 1 минуту
Цитата Сообщение от Verevkin Посмотреть сообщение
Мы ща про С++ или про C#?
хз, я не в курсе. пролистай на страницу назад или две, посмотри вообще, кто начал говорить о ГЦ
0
Злостный нарушитель
 Аватар для Verevkin
10345 / 5763 / 1271
Регистрация: 12.03.2015
Сообщений: 26,617
07.11.2025, 18:56
Цитата Сообщение от Royal_X Посмотреть сообщение
хз, я не в курсе. пролистай на страницу назад или две, посмотри вообще, кто начал говорить о ГЦ

Я в кроватке под пледиком, а на пузе у меня кот.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
07.11.2025, 19:28
Цитата Сообщение от Royal_X Посмотреть сообщение
garbage collector - GC - на великорусский язык переводится как ГЦ. Почему это так - сам не знаю. Ведь, должно было быть СМ - сборщик мусора. Видимо, СМ ассоциируется с Советом министров, и чтобы не обидеть министров, пишут ГЦ.
Патамушта ачень умныи люде пишат.
Поэтому все остальные должны догадаться что там автор имел в ввиду своих аббревиатурах.
Аббревиатуры используются в основном в контексте, и хороший тон при общении и/или написании чего либо, первый раз писать полностью.
ГЦ - генератор циферок. Всё в контексте темы.
Нет такого ГЦ и всё, интерпретатора не напишешь)
0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,077
Записей в блоге: 3
07.11.2025, 19:39
Цитата Сообщение от _Ivana Посмотреть сообщение
Это не суть
верно.

вот суть:
Цитата Сообщение от _Ivana Посмотреть сообщение
У меня нет желания даже вникать.
:лол

Не по теме:

суть в том, что конь в сферическом вакууме мало кому нужен ...

0
фрилансер
 Аватар для Алексей1153
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
07.11.2025, 21:27
Цитата Сообщение от Royal_X Посмотреть сообщение
про маленькую там тоже написано, что зарезервировано, но только в глобальном пространстве.
но тогда почему литеральные операторы должны начинаться именно с подчёркивания? И, что интересно, они могут быть как раз только в глобальном пространстве

Мне кажется, там что-то недоговаривают
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
07.11.2025, 22:02
Цитата Сообщение от Алексей1153 Посмотреть сообщение
но тогда почему литеральные операторы должны начинаться именно с подчёркивания?
Так где ж они начинаются с подчеркивания, когда это лишь разделитель текста литерала и суффикса, имени.
Цитата Сообщение от Алексей1153 Посмотреть сообщение
там что-то недоговаривают
Наверняка это заговор.
0
 Аватар для Наталья8
520 / 374 / 66
Регистрация: 09.03.2016
Сообщений: 3,998
09.11.2025, 13:55
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
wchar_t tmp_name[128]{};// Имя файла запоминаем, в конце восстанавливаем.
                    wcscpy(tmp_name, wcsrchr(l_szSrcFile, '\\'));//Со слешами впереди.
                    *(wcsrchr(l_szSrcFile, '\\')) = '\0';
                    wcscat(l_szSrcFile, L"\\filename.txt");
                    //wprintf(L"%s \n %s", tmp_name, l_szSrcFile);
                    //getchar();
                    FILE *file_for_save = _wfopen(l_szSrcFile, L"w+b");
                    if (file_ptr == NULL) {
                        printf("failed to open file for reading\n");
                        getchar();
                        return 1;
                    }
                    *(wcsrchr(l_szSrcFile, '\\')) = '\0';
                    wcscat(l_szSrcFile, tmp_name);// Восстановление адреса.
Алгоритм на си... Какие здесь камни? Здесь на единичку ошибёшься, ни чё работать не будет.
//wprintf(L"%s \ - Сразу для контроля.
Это что бы в том же фолдере ещё файл прилепить.
Только по нормальному,
Когда адреса полностью, а не как здесь всегда пишут.
0
Just Do It!
 Аватар для XLAT
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,077
Записей в блоге: 3
09.11.2025, 15:46
Цитата Сообщение от Наталья8 Посмотреть сообщение
Здесь на единичку ошибёшься, ни чё работать не будет.
вы фикней мучаетесь.

делать так надо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Hatalyab(std::wstring_view path, std::wstring_view filename = L"filename.txt")
{
    std::wstring pf(path); pf += filename;
    
    if(std::ofstream f(pf); !f.is_open())
    {
        throw("failed to open file for reading\n");
    }
    
    ///-------------------------|
    /// Сохраняем чаво нуно.    |
    ///-------------------------:
    /// TODO: ...
}
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6213 / 2910 / 1045
Регистрация: 01.06.2021
Сообщений: 10,746
09.11.2025, 16:43
Цитата Сообщение от XLAT Посмотреть сообщение
L"filename.txt"
надо так
C++
1
2
3
using namespace std::literals;
 
L"filename.txt"sv
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.11.2025, 16:43
Помогаю со студенческими работами здесь

Подводные камни realloc
Всем привет. Пишу структуру данных, которая при определенных обстоятельствах может перераспределять...

Использование long вместо long int. Возможны ли подводные камни?
Добрый день. Моя цель - писать кроссплатформенный C++ код, поэтому хочу отказаться от типа int...

Подводные камни обмена объектами между программой и DLL
Доброго времени суток. Есть программа, разделенная на основной модуль и DLL Для обмена...

Подводные камни использования библиотеки Qt в Visual Studio
С одной стороны, глупый вопрос: библиотека есть библиотека, берёшь и пользуешь. С другой стороны, я...

Необходимо разбить камни на две кучи таким образом, чтобы веса куч отличались не более чем в 1.5 раза.
Имеется N камней веса А1,А2,...,АN. Необходимо разбить их на две кучи таким образом, чтобы веса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru