Aidar
Тогда зачем ваще писать этот код если он непримменим
Aleksander
Нет гарантии что там true или false
Это почему? Давай не будем выдумывать извращения типа юнион с булом и подобным.
Aleksander
Тогда зачем ваще писать этот код если он непримменим
Это я и пытался донести первым сообщением.
Aidar
Это почему? Давай не будем выдумывать извращения типа юнион с булом и подобным.
Чисто гипотетически при изменении с фолс на фолс вы можете словить true
Aleksander
Чисто гипотетически при изменении с фолс на фолс вы можете словить true
Речь шла про чтение, подробности записи никак не озвучивались.
Aidar
Речь шла про чтение, подробности записи никак не озвучивались.
Ващет там написано что другие потоки могут изменить бул
Aidar
В оригинальном вопросе
Aleksander
Ващет там написано что другие потоки могут изменить бул
Могут и что? Вот давай засунем в этот геттер железобетонный мьютекс. И какой от него будет толк? Сразу после освобождения мьютекса значение переменной становится неизвестным.
Aidar
Тем не менее локфри алгоритмам такое поведение применимо
Aidar
Только не мьютекс
Aleksander
Про алгоритм ни слова не было сказано.
Igor
а кто сказал, что vtune можно на халяву продлять у интела?
поставь intel system studio, там есть vtune и "Free 90-Day Renewable Commercial License" (https://software.intel.com/en-us/system-studio/choose-download)
Berkus
Berkus
Буст с экстрактом хрома чуваки
Крылатый
Есть бесплатный CodeXL, вполне годный профилировщик
Крылатый
Ещё и опенсурс
Pepe 🐸
prepackaged Boost + Chromium. Наконец-то
Igor
Пример на подумать :) struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; int main() { foo a{}; bar b{}; std::cout << a.a //okay << b.b; //UB }
Pepe 🐸
насколько я понимаю никакой дефолт инициализации не будет, а это УБ
Vladislav
bar - не POD
Pepe 🐸
а foo - POD, поэтому будет инициализация
не знал что будет инициализация в POD...
Igor
Это связано не с POD. В a происходит aggregate initialization, в b - нет, т.к. если объявить конструктор =default вне класса он становится user-provided, а классы с user-provided конструктором не являются aggregate.
Igor
Имхо вся концепция что =default и =delete функции в классе не user-provided немного шиза, другой пример: struct S { S() = delete; }; S s1{}; /* Fine */ S s2; /* Error */
Igor
Что вызывается для s1?
Aggregate initialization. =delete конструктор не является user-provided, поэтому класс все еще aggregate.
Pepe 🐸
слишком тонкая материя
Igor
С C++11 во всех :) http://en.cppreference.com/w/cpp/language/aggregate_initialization тут расписаны требования к aggregate классам.
Max
А есть полезный кейс, когда это реально надо?
Nikita
Имхо вся концепция что =default и =delete функции в классе не user-provided немного шиза, другой пример: struct S { S() = delete; }; S s1{}; /* Fine */ S s2; /* Error */
Концепция цельная с учётом отделения определения класса в хедер, а методов и статиков — в отдельную единицу трансляции
Sleeping
Sleeping
Ребята, подскажите плез. Мне нужно использовать массив с числами в другом методе. Как правильно это реализовать. На скринах все методы, заполнение массива происходит в main, а его прямое использование желательно в display. Баловался с указателями, но не вышло. Подскажите пожалуйста.
Viacheslav
@supapro.
Dr. Friedrich
Да, тоже верно.
Dr. Friedrich
Ну и, наконец, void main — не по понятиям.
Dr. Friedrich
Читайте стандарт, пишите int main, живите полноценной жизнью.
Berkus
назвать функцию ОЧИСТКИ init это конечно даунство
2lb3oz4dr10½grOfHedgehogs
назвать функцию ОЧИСТКИ init это конечно даунство
Ну инициализация начальная. В начале он очищен =)
Berkus
Ну инициализация начальная. В начале он очищен =)
это всего лишь сайд эффект инициализации, может быть и не очищен. функция очистки обычно называется clear()
2lb3oz4dr10½grOfHedgehogs
это всего лишь сайд эффект инициализации, может быть и не очищен. функция очистки обычно называется clear()
Да, верно. Результат неправильного понимания назначения функции, бывает
2lb3oz4dr10½grOfHedgehogs
;)
Berkus
зачем передавать step по указателю если единственное что ты с ним потом делаешь - дереференсишь
Berkus
я так понимаю у тебя иксы и игреки обязательно в отдельных массивах?
Igor
Концепция цельная с учётом отделения определения класса в хедер, а методов и статиков — в отдельную единицу трансляции
Не вижу пользы от того что класс с =default и =delete конструкторами является aggregate, если любой другой конструктор делает его non-aggregate
Sleeping
я так понимаю у тебя иксы и игреки обязательно в отдельных массивах?
Просто так захотел, можно сделать двумерный, нооо не захотелось. Так же проще, это обычная лаба мне не надо тут 1000% чистый и правильно написанный код. Это конечно хорошо, но мне кажется учитель в моем универе не поймет на сколько он идеален
Berkus
Просто так захотел, можно сделать двумерный, нооо не захотелось. Так же проще, это обычная лаба мне не надо тут 1000% чистый и правильно написанный код. Это конечно хорошо, но мне кажется учитель в моем универе не поймет на сколько он идеален
> это обычная лаба мне не надо тут 1000% чистый и правильно написанный код. отличная отмаза, это просто ядерный реактор мне не надо тут 1000% чистай код. это просто самолет, мне не надо тут 1000% правильно написанный код. подумаешь, это просто мое искусственное сердце, здесь вообще не надо 1000% код
Berkus
надеюсь учитель хотя бы поймет что *(arr_x + off) это говнокод (т.к. можно было просто arr_x[off])
Berkus
если ты привыкнешь всегда писать говнокод, то когда потребуется писать для реактора ты тоже напишешь говнокод - умение писать хорошо не появится само собой
Berkus
зачем ты кстати делаешь GL_LINES с одинаковыми координатами если господь дал тебе GL_POINTS?
Sleeping
> это обычная лаба мне не надо тут 1000% чистый и правильно написанный код. отличная отмаза, это просто ядерный реактор мне не надо тут 1000% чистай код. это просто самолет, мне не надо тут 1000% правильно написанный код. подумаешь, это просто мое искусственное сердце, здесь вообще не надо 1000% код
Ты преувеличиваешь, я пишу на java, в универе требуют C++. Так что какой бы я сейчас идеальный код не написал, он мне никакой пользы в данный момент не принесет. Я лучше напишу простенько и понятно, но пойду дальше писать на java. Так я уже дня 3 с этим развлекаюсь. Это конечно интересно, но оно мне надо? Я согласен, что лучше сразу писать хороший код, но хороший код на ++ не поможет мне писать хороший код на java.
Sleeping
зачем ты кстати делаешь GL_LINES с одинаковыми координатами если господь дал тебе GL_POINTS?
Я делаю это первый раз, зачем ты меня так унижаешь. Я уже понял что мне в другой чат, перестань. Молю
Олександр
Для Linux и Redox представлена реализация Libc на языке Rust Разработчики операционной системы Redox, развиваемой с использованием языка Rust и применяющий концепцию микроядра, представили проект по созданию собственной стандартной Си-библиотеки Relibc. Код проекта написан на языке Rust и распространяется под лицензией MIT. Relibc позиционируется как переносимая реализация стандартной библиотеки Си, соответствующая стандарту POSIX и способная работать не только в Redox, но и в дистрибутивах на базе ядра Linux.
Nik
> хороший код на ++ не поможет мне писать хороший код на java. Это спорно
Олександр
Вам сколько лет?
Вроде бы уже в универе, а ведешь себя как школьник.
Олександр
Флудец.
Vsevolod
Зато уже самая переносимая и соответствующая posix
Viacheslav
Вам сколько лет?
А это-то тут при чём? Вам намекают, что подход к написанию кода от языка мало зависит. Если писать тяп-ляп на С++, то оно везде так, скорее всего.
Vsevolod
Хипсторы такие хипсторы
Nik
Зато уже самая переносимая и соответствующая posix
про "самая" ничего не сказано
Dr. Friedrich
Зато уже самая переносимая и соответствующая posix
Ну, одни unimplemented явно проще перенести!
Dr. Friedrich
А если она везде корректно возвращает коды ошибок на эти unimplemented — значит, и стандарту соответствует, разве нет? 😂
Sleeping
Я принимаю критику по коду и благодарен Вам за это, но в программировании от силы пол года и даже в теории за это время не смогу узнать все тонкости. А вы накидываетесь на людей со словами "Ты даун, делай по другому". Будьте немного дружелюбнее. Я благодарен Вам за ту информацию которую вы мне подсказали, но те с кем я общался здесь токсичные от мокушки до пяток. Всем спасибо.
Dr. Friedrich
А тут ты сразу на профессиональную критику напоролся! От профессиональных, хе-хе, критиков.
Олександр
Но Беркус и там сидит 🙃