
Александр
24.09.2018
09:27:52
int (*(*p)())[4]
Есть специальный сайт для перевода "C`шная белиберда <=> английский".
Пример для этого выражения: declare p as pointer to function returning pointer to array 4 of int
https://cdecl.org/?q=int%28*%28*p%29%28%29%29%5B4%5D
(Писать такое без typedef или using в реальном коде - желать зла своим коллегам, но читать иногда приходится)

Anton
24.09.2018
09:46:06
если кто не в курсе как надо )

Alex Фэils?︙
24.09.2018
09:46:59

Google

Ilia
24.09.2018
09:48:16

Dark
24.09.2018
09:48:25

Alex Фэils?︙
24.09.2018
09:49:12
Правда иногда бывают и такие ситуации

Anton
24.09.2018
09:49:21

Chiveson
24.09.2018
11:15:55

Kaban4ik
24.09.2018
12:43:36
Привет, ребят, не подскажите, как можно изменить ответ от сервера? Допустим он мне вернул 404, а я хочу, что бы приложение "получило" 200.
Используется wininet, сделал хук HttpQueryInfo и там получаю статус, но как модифицировать его - понять не могу
Заранее спасибо!

Vitaly
24.09.2018
12:50:58

Kaban4ik
24.09.2018
12:51:28
Из защиты у нас только пакер(ВМП в2)
И то для вида

Aidar
24.09.2018
14:10:23
скиньте пример с rm -rf
про уб

Anton
24.09.2018
14:12:13
char c; if (c != 42) system("rm -rf /");

Google

Alex Фэils?︙
24.09.2018
14:12:31
там другой был, про кланг и оптимизацию не вызываемой функции

Anton
24.09.2018
14:12:46
извините )
https://gcc.godbolt.org/#%7B%22version%22%3A3%2C%22filterAsm%22%3A%7B%22labels%22%3Atrue%2C%22directives%22%3Atrue%2C%22commentOnly%22%3Atrue%7D%2C%22compilers%22%3A%5B%7B%22sourcez%22%3A%22MQSwdgxgNgrgJgUwAQB4IGcAucogEYB8AUEZgJ4AOCiAZkuJkgBQBUAYjJJiAPZgCUTfgG4SWAIbcISDl15gkAER6iiEqfTCMAogCdx6BAEEoUIUgDeRJEl0JMMXQvRksCALZMARLvdIAtLp0APReIkQAviQAbjwgcEgAcgjRCLoAwuKm1OZWNspIALxIegbGpsI2kSQMSO7i4LnWtvaOCspCohFAA%3D%3D%22%2C%22compiler%22%3A%22%2Fopt%2Fclang%2Bllvm-3.4.1-x86_64-unknown-ubuntu12.04%2Fbin%2Fclang%2B%2B%22%2C%22options%22%3A%22-Os%20-std%3Dc%2B%2B11%20-Wall%22%7D%5D%7D

Aidar
24.09.2018
14:15:33
спс

☭
24.09.2018
14:49:16
Британский математик сэр Майкл Фрэнсис Атья представил на конференции в Гейдельберге доказательство знаменитой гипотезы Римана. Оно занимает 15 строк
http://short.nplus1.ru/riemannproof
простите если оффтоп

Alex Фэils?︙
24.09.2018
14:49:38
https://t.me/codingteam/160016

☭
24.09.2018
14:49:47
но уж больно зажигательно - сначала Ферма, потом гипотеза Римана

Alex Фэils?︙
24.09.2018
14:50:05
а Ферма тоже доказали разве?

☭
24.09.2018
14:51:33
короче трипл килл.
и всё на нашем веку ?

Ioann V
24.09.2018
15:01:44
И доказаны далеко не все. Что за профанация?

Alexander
24.09.2018
15:04:22
так, модератор конечно уехал, но он всё ещё бдит. а ну хватит оффтопить

Ioann V
24.09.2018
15:05:31
Я не оффтоппил, просто людей вводят в заблуждение намеренно, я лишь поправил !
Ребят, вопрос есть:
У меня есть некий шаблонный класс:
template <class TR>
class Foo
{
template<class TA, TB>
void Bar( TA && ptm, TB && ptr )
....
}

Ilia
24.09.2018
15:31:53
Так, продолжай...

Ioann V
24.09.2018
15:33:02
TA здесь специализируется как указатель на функцию член класса, вопрос в том, как проверить что возвращаемое значение (TR шаблона класса), совпадает с возвращаемым значение ptm ?

Ilia
24.09.2018
15:33:24
template<class TA, TB> -- вот это что такое?

Google

Ilia
24.09.2018
15:33:37
Должно быть либо class, либо тип данных

Ioann V
24.09.2018
15:34:00
ну там типа, TA - это для указателя на мембер функции класса, а TB - это сам указатель

Ilia
24.09.2018
15:34:30
template<class TA, TB> -- это синтаксическая ошибка

Ioann V
24.09.2018
15:34:37
К сути вопроса эта ошибка то не имеет отношения

Ilia
24.09.2018
15:34:44

Ioann V
24.09.2018
15:35:05
Хочу узнать, тип возвращаемого значения TA
Вывести его в компиляции

Alex Фэils?︙
24.09.2018
15:35:26
std::invoke_result

Ilia
24.09.2018
15:35:35

Ioann V
24.09.2018
15:35:41
Только мне С++11 - 14 нужны, если что
И TR должен совпадать с ретерн тайпом TA, и это надо проверять собсно где то внутри Bar, или enable_if - ом

Ilia
24.09.2018
15:37:54

Ioann V
24.09.2018
15:38:56
ну, у меня все же конкретный вопрос - как это сделать! То есть, зачем и для чего - дело двадцатое, здесь вопрос звучит в том, чтобы познать дзен.

Alex Фэils?︙
24.09.2018
15:39:17

Denis
24.09.2018
15:39:23
это 17-ые, а мне б, 11 - 14
если надо проверить можно ли присвоить результат в TR, то можно в деклтайпе проверить это. Либо через result_of. Если я правилньо понимаю что ты хочешь

Alex Фэils?︙
24.09.2018
15:39:52
/cppref invoke_result

Google

Ioann V
24.09.2018
15:39:57

Alex Фэils?︙
24.09.2018
15:40:10

Ioann V
24.09.2018
15:40:16
Просто у меня есть только тупо тип T, и из него надо уже получить возврат

Alex Фэils?︙
24.09.2018
15:40:27
там оно ебанутое, правда, поэтому invoke_result придумали

FailsBot
24.09.2018
15:40:35
Search results for "invoke_result"
- Nothing found.

Alex Фэils?︙
24.09.2018
15:40:48
чертов cppref
какой же у них кривой поиск блять

Ioann V
24.09.2018
15:41:10
Ну я так понимаю, что будет как то так, что я создам тупо структуру дополнительную, она будет уже раскладывать все по косточкам и принимать в себя 2 или более типов.

Alex Фэils?︙
24.09.2018
15:41:23
https://en.cppreference.com/w/cpp/types/result_of

Denis
24.09.2018
15:41:51

Ioann V
24.09.2018
15:42:31
Тут фишка в том, что мне резултат нужен не обычной функции, а указателя на функцию класса
у них разная семантика, да и смысл, как известно тоже

Denis
24.09.2018
15:42:56

Ioann V
24.09.2018
15:43:10
а без передачи никак ?
Вот в С++17 - есть как, да
А вот в с++11 - 14 ?

Alex Фэils?︙
24.09.2018
15:43:35
напиши полифилл к invoke_result
алсо мне Антон в личку кидал вот этого монстра: https://www.boost.org/doc/libs/master/libs/callable_traits/doc/html/index.html
- тут есть как раз херня с этим всем

Denis
24.09.2018
15:44:13
а без передачи никак ?
а что мешает передавать ? У тебя же есть инстанс этого класса. Все равно все это в компилтайме

Google

Ioann V
24.09.2018
15:44:14
да я не мастер сфинай, тому сюда и обратился, авось псевдокодом помогут
так вообще можно и без шаблонов все порешать :D

Denis
24.09.2018
15:46:01

Evgeniy
24.09.2018
16:52:12
https://twitter.com/jfbastien/status/1044266967522131968

Alexander
24.09.2018
16:56:02
Это с доклада страуструпа, что сейчас он рассказывает. Про абузинг авто упоминал

Alex Фэils?︙
24.09.2018
17:12:30
auto auto(auto auto) {return auto;}

Daniel
24.09.2018
17:19:09

Alexandr
24.09.2018
17:50:06
На просторах гугла встречал, что placement new не вызывает деструкторы объектов, но оказывается, что это не так. Все ли я правильно делаю?
struct MyClass {
int number = 1234;
MyClass(){
std::cout << "MyClass construct" << '\n';
}
~MyClass(){
std::cout << "MyClass deconstruct" << '\n';
}
};
int main(int argc, char const *argv[]) {
void* mem = malloc(sizeof(MyClass));
MyClass* myclass = new(mem) MyClass();
std::cout << myclass->number << '\n';
delete myclass;
return 0;
}

Arseny
24.09.2018
17:52:01
Ставлю на UB

Побитый
24.09.2018
17:53:48
Деструкторы это про delete
Другой вопрос - можно ли выделять память через malloc, а освобождать через delete?
Вроде как нет...