S>Ну и сразу вопрос — каким плагином или чем вы находите подобные вещи?
Qt Creator сразу дает предупреждение:
Potential leak of memory pointed to by 't' [clang-analyzer-cplusplus.NewDeleteLeaks]
Скорее всего, в CLion и VS можно как-то настроить. Как минимум, можно прикрутить стороннюю тулзу через настройки. Например, при сохранении файла прогонять статик аналайзером.
Что использовать:
— PVS
— cppcheck
— аналайзер clang
Здравствуйте, Shmj, Вы писали:
S>Это было во времена вашей молодости. Сейчас не проблема уволить и найти чела под приятные языки — а где вы будете искать того, кто согласится на C++?
Изредка находятся, все-таки, прикинь! И, как правило, это такие люди, которым приятно работать именно на C++ со всей его сложностью и недостатками. А ты, как обычно, пытаешься натянуть свой больной прыщик на всю вселенную.
P.S. И, как бы то ни было, лучше вообще никого не нанимать, чем взять на работу профнепригодное убожество. От такого вот
Здравствуйте, Shmj, Вы писали:
S>Это было во времена вашей молодости. Сейчас не проблема уволить и найти чела под приятные языки — а где вы будете искать того, кто согласится на C++?
Сущности "приятно" и "неприятно" относятся к категории субъективных ощущений и напрямую завязаны на твои навыки в той или иной области. Если ты не умеешь плавать и ездить на велосипеде, то приятными эти занятия тебе, конечно же, не будут казаться. Но абсолютизирование своих личных фобий на весь мир — это просто признак небольшого ума.
Здравствуйте, Shmj, Вы писали:
S>Это было во времена вашей молодости. Сейчас не проблема уволить и найти чела под приятные языки — а где вы будете искать того, кто согласится на C++?
а что в С# настолько все плохо и нет работы, что шарписты набежали в тему С++ ?
Здравствуйте, Shmj, Вы писали:
S>Это было во времена вашей молодости. Сейчас не проблема уволить и найти чела под приятные языки — а где вы будете искать того, кто согласится на C++?
Не ты выбираешь С++, С++ выбирает тебя.
Сэкономь себе время, а коллегам нервы. Иди сразу на "приятные языки".
Здравствуйте, so5team, Вы писали:
S>Хотя есть маркер, который наводит на мысль, что ТС так может и в продакшен пИсать
Причем, жирный такой маркер — круг вопросов, которые он поднимает, указывает на то, что он не вникал и не собирается. Я ему дважды уже пытался намекать, что пора бы познакомиться с RAII, но это его лишь раздражает: http://rsdn.org/forum/cpp/8515546.1
Здравствуйте, rg45, Вы писали:
R>Причем, жирный такой маркер — круг вопросов, которые он поднимает
Вопросы-то ладно. Я сам когда в новую тему погружаюсь формулирую такие вопросы, от которых затем самому стыдно становится, когда какое-то понимание достигается.
Я про другое. ТС же вроде уже несколько месяцев как C++ мучает. Я так понимаю, что ему даже за это платят.
Но при этом он даже свой пример не может записать в таком виде, чтобы не возникало вопросов из категории "но что за фигня? можно же проще!"
Я бы от человека, который несколько месяцев изучает более-менее современный C++ ждал бы что-то вроде:
но не вот эту вот простыню из стартового сообщения.
R>Сладостные грёзы о "приятных языках", где можно какать находу, где за тобой все приберут и подотрут, мешают погружению в пучины противного C++.
Может это мое искаженное восприятие реальности, но по моим наблюдениям, если человек начинал учиться программировать на языках с GC и не прошел изначально через Си или C++ (или классический Паскаль, или даже Modula-2 или Ada), то переучивание дается с трудом, и не всем
Это не к тому, что C++ такой сложный, а C++ники какие-то особенные. Просто программирование на языках без GC требует других привычек и лучше бы, чтобы эти привычки формировались в самом начале.
Здравствуйте, so5team, Вы писали:
S>Но при этом он даже свой пример не может записать в таком виде, чтобы не возникало вопросов из категории "но что за фигня? можно же проще!"
Вот именно, использование new там было вообще не в тему — даже в контесте его вопроса. Это лишь линший раз демонстрирует в какую кучу свалены мухи и котлеты в его голове. И сам он эту кучу разгребать не хочет, а тащит ее нам, чтоб мы разбирались в лабиринтах его сложного Квалиа.
S>Может это мое искаженное восприятие реальности, но по моим наблюдениям, если человек начинал учиться программировать на языках с GC и не прошел изначально через Си или C++ (или классический Паскаль, или даже Modula-2 или Ada), то переучивание дается с трудом, и не всем S>Это не к тому, что C++ такой сложный, а C++ники какие-то особенные. Просто программирование на языках без GC требует других привычек и лучше бы, чтобы эти привычки формировались в самом начале.
Полностью согласен. Я и сам проходил по маршруту C++ -> C#. И знаю многих людей, которые преодолели этот путь без особого труда и в кратчайшие сроки. А вот в обратную сторону... что-то ни одного не припоминаю. Сплошные стоны и сопли.
Здравствуйте, B0FEE664, Вы писали:
BFE>Здравствуйте, Shmj, Вы писали:
S>>Ну и сразу вопрос — каким плагином или чем вы находите подобные вещи?
BFE>Нативные массивы не должны использоваться. BFE>Голые/сырые указатели не должны использоваться. BFE>Тогда подобные вещи искать не придётся крайне редко.
Ну перепишешь ты этот код на std::array и ссылки. Лучше станет? Нет
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, DiPaolo, Вы писали:
S>>Ну и сразу вопрос — каким плагином или чем вы находите подобные вещи?
DP>Qt Creator сразу дает предупреждение: DP>
DP>Potential leak of memory pointed to by 't' [clang-analyzer-cplusplus.NewDeleteLeaks]
А на то что тут c->V1 = t; — присваивается стековая область памяти, которая при выходе из функции как бы считается освобожденной?
S>но не вот эту вот простыню из стартового сообщения.
Нужно было уточнить как раз — меня больше интересовал вопрос присваивания стековой памяти, которая освобождается при выходе из фукнции, переменной которая в куче.