@ProCxx

Страница 570 из 2477
Andrei
11.02.2017
14:23:23
Но и возвращаемый тип std::bind зато не кастуется к std::function

Anton
11.02.2017
15:18:45
Ну т.е. если о главном. размер объекта получается "сравним" с обектом содержащим указатель на функцию?

Alex Фэils?︙
11.02.2017
15:19:08
предлагаю оценить через sizeof

Anton
11.02.2017
15:19:15
Google
Andrei
11.02.2017
15:20:52
объект, который толлько мувать можно, но нельзя копировать

Anton
11.02.2017
15:21:56
Ну т.е. определена move семантика и запрещен конструктор копирования?

Stanislav
11.02.2017
15:23:01
например unique_ptr

Alex Фэils?︙
11.02.2017
15:39:08
или std::thread

Monday Begins on Saturday
11.02.2017
17:19:31
Ребят, я тут C++ изучаю(снова). Написал себе коротенькую шпору по исключениям. Ничего не забыл? https://gist.github.com/shelomentsevd/54fe3fb3ef84c6db1f4f28177c26d8b7

Alexander
11.02.2017
17:21:28
try { } catch (...) { } можно еще писать, именно многоточие

Monday Begins on Saturday
11.02.2017
17:23:32
try { } catch (...) { } можно еще писать, именно многоточие
Это типа "нам пофиг что за исключения, просто делаем что-то одно на каждое"?

Alexander
11.02.2017
17:24:37
да, но про "одно на каждое" не понял

Monday Begins on Saturday
11.02.2017
17:25:02
да, но про "одно на каждое" не понял
Не так выразился. Одна обработка для всех

Alexander
11.02.2017
17:26:23
ага

Junior
11.02.2017
17:28:07
Добрейший вечерочек

Surreal
11.02.2017
17:33:13
Ребят, я тут C++ изучаю(снова). Написал себе коротенькую шпору по исключениям. Ничего не забыл? https://gist.github.com/shelomentsevd/54fe3fb3ef84c6db1f4f28177c26d8b7
Вместо throw() лучше noexcept\noexcept(bool). +Примеры на иерархию catch блоков с наследованием. +set_terminate +set_unexpected

Про catch(...) уже написали.

Google
Alex Фэils?︙
11.02.2017
17:35:21
кстати. MSVC умеет в catch(...) ловить SEH-исключения. Никто не пробовал в таком блоке вызывать std::current_exception?

Surreal
11.02.2017
17:46:14
Вот, точно. Еще std::current_exception и std::exception_ptr

Жулик
11.02.2017
17:48:05
Жулик
11.02.2017
17:49:53
Автор книги по stl

Там не только метод what у некоторых исключений есть.

Alex Фэils?︙
11.02.2017
17:52:33
о, а у тебя есть эта книга в эл. варианте?

от этого автора у меня есть по шаблонам книга, вообще зачотная

Жулик
11.02.2017
17:52:45
Да, я уже скидывал ее

Alex Фэils?︙
11.02.2017
17:52:52
фак, лол. Точно. тот файл в 48 Мб

Жулик
11.02.2017
17:53:19
Вот в книге по stl, глава 4.3

Alex Фэils?︙
11.02.2017
17:53:46
вот она

#book #cpp #stl

Monday Begins on Saturday
11.02.2017
18:25:24
Казалось бы такая обыденная тема - исключения, а уже дофига страниц открыл. Тут на статью, наверное, хватает, а не на шпору.

Alex Фэils?︙
11.02.2017
18:26:31
Можно будет потом на гитхаб-страницу procxx разместить

Berkus
11.02.2017
18:26:39
это ты еще boost::exception не видел...

Monday Begins on Saturday
11.02.2017
18:32:41
это ты еще boost::exception не видел...
За boost я вот вообще не знаю с какой стороной взяться. На работе его почти не используем, а читать всю доку по нему это с ума сойти можно

Gleb
11.02.2017
18:45:56
У нас на работе буст даже в r0.

Дрова на нем пишем.

Google
Gleb
11.02.2017
18:47:44
#include <boost/scope_exit.hpp> #include <boost/lambda/bind.hpp> #include <boost/lambda/construct.hpp> #include <boost/lambda/lambda.hpp>

Вот такие хидеры в драйвере.

Что то никого не впечатлило, ну ладно.

Gleb
11.02.2017
18:52:08
нет. В студии 2008 нет с11

с 2013 появилились в std

Alex Фэils?︙
11.02.2017
18:52:59
Berkus
11.02.2017
18:53:01
Антон
11.02.2017
18:58:58
/usr/bin/ld: add.o: relocation R_X86_64_32S against `.text' can not be used when making a shared object; перекомпилируйте с параметром -fPIC /usr/bin/ld: final link failed: Раздел, непредставимый для вывода collect2: error: ld returned 1 exit status

я просто попробовал ассемблер на x64

как лечить

Berkus
11.02.2017
18:59:34
-fPIC

Berkus
11.02.2017
18:59:35
написано же

Антон
11.02.2017
18:59:41
блять

я не gcc компилил

Berkus
11.02.2017
19:00:06
а линковал ld, у тебя один файл для линковки?

Антон
11.02.2017
19:00:08
я gcc юзал только для линковки

а компилил nasm'ом

Berkus
11.02.2017
19:00:30
add.o это твой файл?

Google
Berkus
11.02.2017
19:00:50
а насмом ты компилил 32 битный код?

Антон
11.02.2017
19:01:09
; ; assemble and link with: ; nasm -f elf printf-test.asm && gcc -m32 -o printf-test printf-test.o ; section .text global main extern printf main: mov rax, 0xDEADBEEF push rax push message call printf add rsp, 8 ret message db "Register = %08X", 10, 0 вот исходник, тупо скопипастил откуда то на пробу

Berkus
11.02.2017
19:01:16
у него были сложности с поддержкой x86_64 раньше, попробуй yasm

Admin
ERROR: S client not available

Berkus
11.02.2017
19:01:31
там написано gcc -m32

как думаешь какой это режим

Антон
11.02.2017
19:01:49
32

Berkus
11.02.2017
19:02:01
правильно, то есть 64 битный код не получится использовать

Антон
11.02.2017
19:02:15
а что надо поменять чтобы 64

Berkus
11.02.2017
19:02:26
тебе надо a) ассемблить в elf64, b) линковать gcc -m64

c) возможно использовать yasm вместо nasm

Антон
11.02.2017
19:02:43
ассемблил я в elf64 и линковал -m64.

а fasm еще жив?

Berkus
11.02.2017
19:03:48
вроде да

Антон
11.02.2017
19:05:49
у него и синтаксис получше

его попробую

Berkus
11.02.2017
19:31:26
таак, стили вроде сгенерил

теперь надо приватные Qt headers победить

Google
Surreal
11.02.2017
19:35:40
Вы все телеграм пытаете?

Alex Фэils?︙
11.02.2017
19:37:20
Ага

Berkus
11.02.2017
20:00:38
гррр tdesktop/Telegram/SourceFiles/ui/text/text.h:23:10: fatal error: 'QtGui/private/qfontengine_p.h' file not found #include "QtGui/private/qfontengine_p.h" ^

Monday Begins on Saturday
11.02.2017
20:02:00
В итоге noexcept это какой-то костыль что бы move семантика нормально работала в STL получается. Я разочарован немного.

Sergey
11.02.2017
20:03:16
я так подозреваю, что много где. но не осилил разобраться

Monday Begins on Saturday
11.02.2017
20:03:58
а на кой черт нужен этот noexcept?
https://akrzemi1.wordpress.com/2014/04/24/noexcept-what-for/ вот самое дельное объеснение какое нашел

Monday Begins on Saturday
11.02.2017
20:05:32
Это не костыль. Вполне юзабельная вещь.
А можешь какой-нибудь пример привести? A то кроме того что это фиксит логику в STL и ещё удобно для дебага в некоторых случаях, ничего не нашел.

Surreal
11.02.2017
20:06:07
У компилятора больше простора в оптимизации при наличии noexcept спецификатора.

У программиста больше простора в оптимизации при наличии noexcept спецификатора.

Berkus
11.02.2017
20:08:15
Surreal
11.02.2017
20:09:22
Среди программистов на плюсах сложилось негативное отношение к исключениям и всему, что с ними связано. Больше всего меня раздражает, что указывать спецификацию исключений у функции throw(InternalException, NullptrException, ...) считается дурным тоном. Типа потом эту функцию зарефакторят, спецификация исключений поменяется и поломается весь код, который писался с учетом предыдущей спецификации.

Так что лучше вообще забить на все эти "нормы" с исключениями. Надо просто понимать как с ними работать. А дальше уже ориентироваться на код-стайл команды, в которой работаешь.

Monday Begins on Saturday
11.02.2017
20:11:05
У компилятора больше простора в оптимизации при наличии noexcept спецификатора.
только вот если функция выбросит exception всё-таки, то вызовется std::terminate напрямую. Разве это хорошо?

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