@ProCxx

Страница 1535 из 2477
vyacheslav@deepin:~$
30.11.2017
04:54:21
что такого, обычная русская компания

Anton
30.11.2017
06:55:37
Угу

Anatoly
30.11.2017
07:23:11
Там опять доклад на спб с++ юзер групп?
https://www.meetup.com/St-Petersburg-CPP-User-Group/

Google
Kitsu
30.11.2017
07:58:06
https://ideone.com/IZJJyi Можно как-нибудь вставить проверки на элементы const char(&)[N]? Хочется в compile-time парсить строчки

Kitsu
30.11.2017
08:01:52
https://akrzemi1.wordpress.com/2011/05/11/parsing-strings-at-compile-time-part-i/ ?
угу, гляжу, но там что-то не густо

ну, вернее там есть вариант через throw, но хочется compile-time ошибки

Ilia
30.11.2017
08:08:12
Объясните мне, други... Ну какой же идиот придумал такую хрень писать: Q_ASSERT(-1 != m_cols.account); Ну разве ж это правильно? Ну что ж тебе не запомнить что ли, что = — это присвоить, а == — сравнить? Ну это ж ДЕБИЛИЗМ !

Ilia
30.11.2017
08:10:00
Да я с начала 90х на С программирую, тогда не то, что IDE, редакторов нормальных не было, ничего, выжили как-то.. И без этого говна...

Alexander
30.11.2017
08:10:42
это йода-стиль?

Igor
30.11.2017
08:11:05
да

Ilia
30.11.2017
08:11:41
Объясните мне, други... Ну какой же идиот придумал такую хрень писать: Q_ASSERT(-1 != m_cols.account); Ну разве ж это правильно? Ну что ж тебе не запомнить что ли, что = — это присвоить, а == — сравнить? Ну это ж ДЕБИЛИЗМ !
Можно экспресс-опрос, кто ПРИМЕНЯЕТ такие практики в коде? Напишите ответом на этот пост "Я применяю перевёрнутую запись в операции сравнения"

Nik
30.11.2017
08:11:44
Ну уменьшает же процент опечаток йода стиль

Google
Evgeniy
30.11.2017
08:12:07
никогда в жизни опечаток не было?

Nik
30.11.2017
08:12:07
я

Ilia
30.11.2017
08:12:13
дебилизм, не дебилизм, а без статического анализатора и -Werror такая хуйня иногда пролезает в прод
Ну она ж даже если пролезет, её бысть обнаружишь... А с const это вообще не скомпилируется...

Berkus
30.11.2017
08:12:14
Ну она ж даже если пролезет, её бысть обнаружишь... А с const это вообще не скомпилируется...
иногда не быстро... в линуксе вот некоторые такие опечатки висели годами

Alexander
30.11.2017
08:12:40
Можно экспресс-опрос, кто ПРИМЕНЯЕТ такие практики в коде? Напишите ответом на этот пост "Я применяю перевёрнутую запись в операции сравнения"
у нас применялось, но потом мы сделали Werror, явно прописали варнинг на этот случай и больше не пишем в йода-стиле

Berkus
30.11.2017
08:12:45
НЕ БЫЛО.
БУДУТ

Ilia
30.11.2017
08:12:59
НЕ БУДЕТ!

Igor
30.11.2017
08:13:03
НЕ БЫЛО.
давайте похлопаем этому уникуму и пожелаем продолжать в том же духе

Ilia
30.11.2017
08:13:40
Вот поверьте, за хрен знает сколько лет ни разу не было ошибок замены сравнения равенством.

Evgeniy
30.11.2017
08:13:48
НЕ БУДЕТ!
ну тогда просто перепиши весь код который встречаешь да и все

делов то

Ilia
30.11.2017
08:14:50
Допустим, они бы были. Их было бы штук 10 на 10 лет работы. Одна ошибка в год. Которая достаточно просто обнаруживается. Стоит ли поганить код из-за этого?

Berkus
30.11.2017
08:16:39
Допустим, они бы были. Их было бы штук 10 на 10 лет работы. Одна ошибка в год. Которая достаточно просто обнаруживается. Стоит ли поганить код из-за этого?
илья, 10 лет назад я в коде не делал НИ ЕДИНОЙ ОПЕЧАТКИ (примерно за 10 лет как раз). А потом начал, внезапно.

так что юношеский максимализм пройдет

Ilia
30.11.2017
08:17:20
Это конечно как бы спор ни о чём, IDE, warning, статические анализаторы — всё это лечит. Просто подумайте нужно ли это вам. Проблема на самом деле очень сильно преувеличена.

так что юношеский максимализм пройдет
Ну меня в юношенском максимализме очень трудно обвинять...

Google
Kitsu
30.11.2017
08:19:13
ну, вернее там есть вариант через throw, но хочется compile-time ошибки
Таки что, тут совсем никак нельзя выкидывать ошибки компиляции, только в рантайме ловить?

Kitsu
30.11.2017
08:20:29
на слона денег нет, сорь

Berkus
30.11.2017
08:24:03
Это конечно как бы спор ни о чём, IDE, warning, статические анализаторы — всё это лечит. Просто подумайте нужно ли это вам. Проблема на самом деле очень сильно преувеличена.
когда есть нужные тулы и умеешь ими пользоваться - никаких проблем. изобретатели этого стиля по-моему сидели всю жизнь в nano и компилировали с -Wnone

Ilia
30.11.2017
08:25:14
Это из Java вообще пошло...

/dev
30.11.2017
08:25:32
Ну она ж даже если пролезет, её бысть обнаружишь... А с const это вообще не скомпилируется...
В рантайме обнаружишь. Придёт баг от саппорта, когда у юзера баганет. А у него самолёт разбился из-за твоей глупой ошибки

Vitaliy
30.11.2017
08:28:52
Только если он не в ракете) Тоже считаю, что лучше ошибки в компайлтайме, чем в рантайме.

Кстати, тут тему конана поднимали.

Объясните, пожалуйста, я правильно понимаю, что он подрубается в cmake и во время генерации файлов просто тянет нужные библиотеки из репозитория ?

Igor
30.11.2017
08:32:52
если совсем утрировать, то да попутно ещё библиотеки кэшируются у тебя на диске для дальнейшего использования, а подрубаться он может не только в смак

Vitaliy
30.11.2017
08:34:00
А conan сейчас best practice считается ?

По подключению либ

/dev
30.11.2017
08:34:25
plq
30.11.2017
08:34:40
А conan сейчас best practice считается ?
Не то, чтобы best practice, но если есть — то неплохо

Vitaliy
30.11.2017
08:35:32
А как там обстоят дела с большими библиотеками ? Например, могу ли я вытянуть часть boost или opencv ?

Или только либу целиком ?

Igor
30.11.2017
08:36:25
А как там обстоят дела с большими библиотеками ? Например, могу ли я вытянуть часть boost или opencv ?
можешь подключить кастомный репозиторий bincrafters, у них есть модульный буст

Admin
ERROR: S client not available

Google
Vitaliy
30.11.2017
08:36:47
Значит от репозитория зависит ?

in development, скорее
Что значит in development ?

Igor
30.11.2017
08:37:32
да репозитории могут быть как публично доступными, так и огороженными в рамках локальной сети компании, например

/dev
30.11.2017
08:38:00
Что значит in development ?
Сыроват и активно развивается. Если есть своя монструозная легасятина — то ещё рано ещё на conan менять

Berkus
30.11.2017
09:17:08
он качает и ставит депенденсы и создает конфиг файл для твоей билдсистемы, cmake одна из поддерживаемых опций

Kitsu
30.11.2017
10:15:32
https://blog.jupyter.org/interactive-workflows-for-c-with-jupyter-fe9b54227d92

PRoSToC0der
30.11.2017
11:02:56
Есть ли какой-нибудь стандартный способ вывода std::u32string через std::cout/std::wcout? По идее можно конвертнуть std::u32string в multi-byte string с помощью std::c32rtomb, но "примет" ли такую строку std::cout? Различает ли как-нибудь стандарт single-byte string и multi-byte string? Можно ещё попробовать конвертнуть multi-byte string в wide string (с помощью std::wcrtomb) и вывести через std::wcout, но тут также возникают два вопроса может ли вместить multi-byte string все символы юникода и может ли вместить wide string все символы юникода?

Berkus
30.11.2017
11:03:13
u32 это по твоему какая кодировка?

а какая в wcout?

стандарту похую

конвертируй в нужную кодировку и в ней выводи

Friedrich
30.11.2017
11:18:07
http://en.cppreference.com/w/cpp/string/multibyte/c32rtomb > The multibyte encoding used by this function is specified by the currently active C locale.

Olesya
30.11.2017
11:19:43
Есть ли какой-нибудь стандартный способ вывода std::u32string через std::cout/std::wcout? По идее можно конвертнуть std::u32string в multi-byte string с помощью std::c32rtomb, но "примет" ли такую строку std::cout? Различает ли как-нибудь стандарт single-byte string и multi-byte string? Можно ещё попробовать конвертнуть multi-byte string в wide string (с помощью std::wcrtomb) и вывести через std::wcout, но тут также возникают два вопроса может ли вместить multi-byte string все символы юникода и может ли вместить wide string все символы юникода?
на мой субъективный взгляд, если тебе нужны юникод строки (32) проще воспользоваться либой ICU. также она позволяет легко конвертить в UTF8 и обратно в 32. и по поводу вывода можно не парится. а ещё там куча полезных штук как, например, приведение символов к нижнему регистру. мне лично с ней проще было работать.

Google
Vlad
30.11.2017
11:21:12
:)

Olesya
30.11.2017
11:22:49
слушай, ну каждому своё. мне им действительно проще пользоваться, чем заморачиваться с локалями и прочим. тем более, что под мою задачу это больше подходило.

Anton
30.11.2017
11:28:58
Мне в одном проекте надо было преобразовывать из cp866 в utf8 самое простое и быстрое (в плане процессорного времени) оказалось сделать свою функцию с длиннее Ким switch/case )

Да и не люблю я эти wstring...

PRoSToC0der
30.11.2017
11:30:49
http://en.cppreference.com/w/cpp/string/multibyte/c32rtomb > The multibyte encoding used by this function is specified by the currently active C locale.
А где можно посмотреть, что такое currently active C locale? (и вмещает ли эта multibyte кодировка все юникод символы?) И как сделать так, чтобы std::cout выводил именно в этой локали (или кодировке, уже путаюсь)?

Olesya
30.11.2017
11:30:52
Мне в одном проекте надо было преобразовывать из cp866 в utf8 самое простое и быстрое (в плане процессорного времени) оказалось сделать свою функцию с длиннее Ким switch/case )
у меня тоже есть свой конвертер из utf8 в 32, но вот с преобразованием заглавных букв я бы застрелилась (потому что в юникоде диапозоны букв по-разному раскиданы), поэтому использовала icu)))

PRoSToC0der
30.11.2017
11:33:30
Просто в c32rtomb ничего не написано про ошибки в случае, если c32 не представим в multibyte кодировке, значит по идее любой юникод символ должен быть представим в multibyte кодировке

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