@ProCxx

Страница 2316 из 2477
Evgeniy
01.09.2018
14:55:29


Viktor
01.09.2018
15:00:20
Ой

Ilia
01.09.2018
15:05:18
Интересно распространено ли такое понятие как thread local синглтон
Да Синглтон вообще дурацкий паттерн. Это глобальная переменная закопанная в функцию, и все. Все его проблемы - это как его правильно создать, и решаются они очень просто, если все создать явно.

Google
Anton
01.09.2018
16:31:20
Надо было ещё добавить "Added zero-shadow-meta-value initialization"

Pepe
01.09.2018
16:45:07
такой вопрос: у меня есть класс, в этом классе есть статический вектор пойнтеров на этот класс. Служит для того чтобы когда я создаю инстансы класса, вектор пойнтеров создавался только один раз и хранил указатели на инстансы класса. Это нормальный дизайн или лучше создать отдельно вектор пойнтеров за пределами класса и там хранить?

Ilia
01.09.2018
17:49:57
Anatoly
01.09.2018
17:51:58
А чем лучше то? Что так что эдак.
Концептуальная чистота и отсутствие глобальных переменных

Ilia
01.09.2018
17:56:09
Концептуальная чистота и отсутствие глобальных переменных
Этот Класс-менеджер должен существовать до того как создаёшь первый объект мэнеджменуемого класса и до тех пор, пока удалится последний. Это либо синглтон , либо глобальная переменная.

Чего тут концептуального , не понятно.

Anatoly
01.09.2018
17:57:51
Этот Класс-менеджер должен существовать до того как создаёшь первый объект мэнеджменуемого класса и до тех пор, пока удалится последний. Это либо синглтон , либо глобальная переменная.
Не обязательно, этот менеджер может быть создан в мейне или тредолокале и передан как параметр контекста дальше. Вообщем, нельзя так узко смотреть

Google
Matwey
01.09.2018
17:58:13
Не так лапидарно, но тем не менее

А потом еще помолившись и пожалев что пишешь не на Rust из деструктора дернуть этот менеджер

Anatoly
01.09.2018
17:59:09
Не так лапидарно, но тем не менее
Лапидарно - что за наречие?

Matwey
01.09.2018
17:59:29
https://ru.wiktionary.org/wiki/%D0%BB%D0%B0%D0%BF%D0%B8%D0%B4%D0%B0%D1%80%D0%BD%D0%BE

Anatoly
01.09.2018
18:04:19
Ага, и при создании каждого управляемого объяета его явно указывать?
Менеждер может создавать и регистрировать, а сам объект может и не знать о менеджере

Ilia
01.09.2018
18:05:14
В общем, архитектурщина

Ruslan
01.09.2018
20:14:49
А то натолкают поинтеров на парент всюду, ага

Спасибо, уже наелись такого по самое небалуйся

Ruslan
01.09.2018
20:17:38
Типа того

Anatoly
02.09.2018
06:53:18
Как в кутешочке
Сборка мусора через отношение родитель-ребенок

Boris
02.09.2018
07:20:34
При использовании с string возникает bad any cast. Есть идеи? private: std::map<std::string, std::any> m_props; public: template <typename T> T get_param(std::string_view param) const { try { return p.get<T> (param.data()); } catch (...) { if(auto value = m_props.find(param.data()); value != m_props.end()) { return std::any_cast<T> (value->second); } else { return T(); } } }

Vyacheslav
02.09.2018
07:43:32
как провести поиск в файле который хранится на внешнем носителе ? Если загружать в оперативку файл слишком большой
тут нужен внешний поиск, в частности посмотри B-дерево https://ru.wikipedia.org/wiki/B-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE

Karina
02.09.2018
09:07:34
ребят, кто может подсказать?(чистый си, если что): хочу, чтобы в path лежала строка с параметром из командной строки int main(int argc, char* argv[]) { char* pid = argv[1]; char path[20]; sprintf(path, "/usr/src/code/proc/%s/stat", argv[1]); } в итоге странная ошибка: * stack smashing detected * почему?

Google
Alexander
02.09.2018
09:09:40
Никогда не используй sprintf и обычный printf!
а что же ты тогда патчить будешь? ?

это чтобы мейнтейнерам грустно не жилось

Matthew
02.09.2018
09:09:53
У тебя один образец 26 символов, а буфер на 20

Vitaly
02.09.2018
09:10:07
У тебя один образец 26 символов, а буфер на 20
И из-за этого дырища вселенского масштаба.

Karina
02.09.2018
09:10:26
буфер маленький
нифига себе. действительно. спасибо

Никогда не используй sprintf и обычный printf!
блин, а что тогда использовать, если я хочу что-то запихнуть в char[] с привидением типов?

а что же ты тогда патчить будешь? ?
спокойствие. это всего лишь лабы

Vitaly
02.09.2018
09:15:13
блин, а что тогда использовать, если я хочу что-то запихнуть в char[] с привидением типов?
В плюсовом коде для работы с форматными строками следует использовать fmtlib или boost::format. Они хотя бы выполняют операции безопасно, не создавая критических уязвимостей, которыми очень легко воспользоваться для перехвата управлением программы.

Karina
02.09.2018
09:15:28
а на чистом си?

Vitaly
02.09.2018
09:15:44
а на чистом си?
Чистый Си обходить за километр.

Karina
02.09.2018
09:15:58
а лабы?

да я не пишу на си, если что

Stanislav
02.09.2018
09:18:03
да я не пишу на си, если что
пафосно кидать в препода тетрадями и говорить что не пишеш на си

Karina
02.09.2018
09:19:39
я курс прохожу. не, всё равно разбираться в этой срани надо. на ней всё написано.

Vitaly
02.09.2018
09:20:39
а лабы?
В лабораторных работах применять можно, но обязательно проверять размеры данных, помещаемых в буферы, а в printf жёстко задавать форматные спецификаторы.

Karina
02.09.2018
09:20:51
ок, спасибо

A.D.
02.09.2018
10:11:35
я курс прохожу. не, всё равно разбираться в этой срани надо. на ней всё написано.
1) Позвать snprintf, передав вместо целевого буфера NULL - вернётся необходимый размер буфера; 2) Выделить необходимый буфер на куче (malloc); 3) позвать snprintf второй раз, передав указатель на выделенную память. https://linux.die.net/man/3/snprintf Только размер без финального нуля возвращается, так что +1 в malloc и во второй snprintf.

Нирвана
02.09.2018
10:37:19
Ребят вот вы называете говнокодерами некоторых , в чём суть? что вы имеете ввиду

Google
Нирвана
02.09.2018
10:38:25
код реализован не так как написали бы вы?

Нирвана
02.09.2018
10:40:54
ну блин да многие криво написано допустим , но разве суть программы в красоте кода а не работе его ровно?

Viacheslav
02.09.2018
10:42:42
Суть программы в том, чтобы её можно было легко сопровождать в будущем.

/dev
02.09.2018
10:42:52
ну блин да многие криво написано допустим , но разве суть программы в красоте кода а не работе его ровно?
Представь себе такую очень редко распространенную ситуацию, как коммерческая разработка в команде. Код должен быть расширяем под новые задачи. Его надо суметь прочесть позже, коллегой. Надо будет что-то фиксить, дополнять. Вот никогда такого не было, но представь

Viacheslav
02.09.2018
10:42:55
А если там навёрнуто говна, то сам автор через неделю забудет, что там и как.

yuri
02.09.2018
10:43:01
код реализован не так как написали бы вы?
Есть очень здравое мнение, что начинать обучение нужно с С++.

Alex
02.09.2018
10:44:46
ну так называемых говнокодеров в команду врятли возьмут
много кто так говорит, однако говнокодеры работают, пишут, и зарабатывают

Нирвана
02.09.2018
10:45:19
допустим на фрилансе заказали парсер с сайта , написал и всё софт работает заказчику главное шоб работало же , P.s сам только буду учить

/dev
02.09.2018
10:45:40
много кто так говорит, однако говнокодеры работают, пишут, и зарабатывают
Там есть отдельная каста с повышением Job Safety Index, но это другая история

Ruslan
02.09.2018
10:46:27
И отловить все какахи не сразу получается

Страница 2316 из 2477