
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

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
Про 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

Monday Begins on Saturday
11.02.2017
17:47:27

Жулик
11.02.2017
17:48:05

Monday Begins on Saturday
11.02.2017
17:49:22

Жулик
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

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>
Вот такие хидеры в драйвере.
Что то никого не впечатлило, ну ладно.

Скрудж
11.02.2017
18:49:36

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 это твой файл?

Антон
11.02.2017
19:00:31

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

Антон
11.02.2017
19:01:27

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

Surreal
11.02.2017
20:04:04

Monday Begins on Saturday
11.02.2017
20:05:32

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