@ProCxx

Страница 2427 из 2477
Ilia
12.10.2018
09:22:18
Alexander
12.10.2018
09:22:25
Ilia
12.10.2018
09:23:04
ничего это не меняет
Ну меняет. Нафига тебе две одинаковых константы?

Google
Alexander
12.10.2018
09:23:16
Ilia
12.10.2018
09:23:24
И мой совет -- проинициализировать явно -- не катит уже

Ну ладно.

Alexander
12.10.2018
09:23:39
Nikita не слушай @MasterZiv. он несёт бред

Nikita
12.10.2018
09:24:06
Ilia
12.10.2018
09:24:08
Да я с утра не зарядился... Мозк не работает

Nikita
12.10.2018
09:24:38
я имею в виду не в рантайме а по ходу правок проекта

Ilia
12.10.2018
09:26:39
А.

Ruslan
12.10.2018
09:34:09
Порядок имеет значение для ГЛОБАЛЬНЫХ

А в твоем случае ты ЯВНО инициализируешь

То есть порядок, однозначно, будет такой, как ты написал

Google
Nikita
12.10.2018
09:35:29
Ruslan
12.10.2018
09:35:43
Я просто внес ясность

Есть порядок по-умолчанию, который компилятор гарантирует

А в твоем случае порядок инициализации выбирается не компилятором, а задается пользователем

Nikita
12.10.2018
09:38:00
А в твоем случае порядок инициализации выбирается не компилятором, а задается пользователем
ну тогда можно свести вопрос к тому, есть ли гарантия, что компилятор послушается этого пользователя

Alexander
12.10.2018
09:46:42
я не понимаю проблемы закладывания на это поведение

Ruslan
12.10.2018
09:46:43
Закладываться на не совсем очевидные вещи, которые, причем, могут не везде работать так, как ожидается...

Везет...

Alexander
12.10.2018
09:47:06
это очевидное поведение, которое прописано в стандарте

Ruslan
12.10.2018
09:51:55
есть примеры компиляторов, которые забивают на это правило?
Я не исследовал эту тему и не могу ручаться за авторов компилятора. Кроме того, я более чем уверен, что играя флагами компилятора можно легко сгенерировать не стандартный код

Ruslan
12.10.2018
09:53:00
А ты забавный. Сходи на сайт гнутого компилятора....

Alexander
12.10.2018
09:53:06
мб в O3 секции можно что-то интересное нарыть

Ruslan
12.10.2018
09:53:16
Там два мешка разных флагов/макросов/етц

Про O3 отдельная история вообще

Я уже молчу про всякие аттрибуты нестандартные, прагмы, етц

яйцами рисковать надо по минимуму, имхо

Google
Alexander
12.10.2018
09:54:26
Там два мешка разных флагов/макросов/етц
можете привести, пожалуйста, тыкнуть носом в флаг компиляции, который делает программу работающей не по Стандарту?

ладно, сам вижу

Alexander
12.10.2018
09:55:08
там просто фичи языка можно выключать

Ruslan
12.10.2018
09:55:22
Но от GCCизмов не раз ловили грабли в голову

Сами того не зная

Alexander
12.10.2018
09:56:14
ну про прагмы и так далее понятно. я просто думал про какой-нибудь флаг, которые врубает оптимизации, которые яростно ломают совместимость со Стандартом

Matthew
12.10.2018
09:57:48
А вот программа тыпу for(int i = 0; i < 12345678; i++){ int x = i * 12345; std::cout << x << ' '; } по стандарту должна превращаться в бесконечный цикл или мириться с UB?

Alexander
12.10.2018
09:58:53
i * 12345 переполняется? (мне лень считать)

Alexander
12.10.2018
10:00:10
значит UB :)

Matthew
12.10.2018
10:00:29
i * 12345 переполняется? (мне лень считать)
Да Из-за этого фрагмента компилятор оптимизирует следующим образом: 1. i * 12345 => i максимум INT_MAX / 12345 2. Поскольку 12345678 > INT_MAX / 12345, то условие i < 12345678 всегда выполняется 3. ???? 4. Бесконечный цикл!

значит UB :)
Вопрос в том должен ли компилятор действовать по типу того что я описал выше

Ruslan
12.10.2018
10:03:30
Это объявления вообще-то
Больше похоже на инициализацию статик мемберов класса

Aidar
12.10.2018
10:03:46
а определяется ли стандартом порядок инициализации статических переменных?
определяется порядок сайдэффектов а не инициализации

Ruslan
12.10.2018
10:04:08
Но если и объявление, тогда где static кейворд?

Aidar
12.10.2018
10:05:24
Yarique
12.10.2018
10:55:44
Всем привет. Презентации с докладов «Под капотом Яндекс.Такси» можно попросить? @antoshkka

Google
Aleksei
12.10.2018
11:03:28
очень ждем!)

Nikita
12.10.2018
11:28:07
Больше похоже на инициализацию статик мемберов класса
да, это оно и есть, объявления в h-нике

Anatoly
12.10.2018
11:28:27
Сейчас узнаю где и когда выложат...
Сергей сказал через две недели.

Sergey
12.10.2018
12:00:32
можно ли получить ссылку на метод класса (у всех функций одинаковая сигнатура)? Нужно что-то вроде такого std::function f; switch (c) { case c1: f = &this::function; break; ... }

прочитал про std::bind, но применить его не получилось

Nik
12.10.2018
12:03:15
Anatoly
12.10.2018
12:03:54
прочитал про std::bind, но применить его не получилось
https://en.cppreference.com/w/cpp/utility/functional/bind смотри пример с Foo

Ilia
12.10.2018
12:06:23
std::function<void()> f; switch(c) { case c1: f = [this](){ this->method(); }; case c2: f = [this](){ this->method_2(10, 2); }; }
Так не выйдет, лямбда с захватом.... Она в функцию не преобразуется

Denis
12.10.2018
12:06:26
Честно говоря, я бы постремался что-то жать :)

Ilia
12.10.2018
12:07:00
Anatoly
12.10.2018
12:07:02
Denis
12.10.2018
12:07:11
Ilia
12.10.2018
12:07:27
Denis
12.10.2018
12:07:28
Так что, ты уходишь?
Нет, просто не совсем понятно, что бот хочет

Alexander
12.10.2018
12:07:37
Aidar
12.10.2018
12:07:40
Google
Spoonson
12.10.2018
12:07:41
Э.... Нет.
как нет, если да?

Denis
12.10.2018
12:08:15
Ну вообще, если в итоге нужен указатель на функцию, то захватывать ничего нельзя

Spoonson
12.10.2018
12:08:28
std::function и нужен то затем чтоб не-указатели на функции, а с контекстом что-то хранить

Ilia
12.10.2018
12:08:45
в std::function все преобразуется
Это можно только в шаблоном коде, где тип функции не выражен явно. Тогда можно. Просто у лямбды с захватом тип не определен.

Aidar
12.10.2018
12:08:50
Ну вообще, если в итоге нужен указатель на функцию, то захватывать ничего нельзя
ну ваще там не можеть быть нужен указатель на функцию потомучто это сделать невозможно

Ilia
12.10.2018
12:10:55
Сейчас, поем...

Aidar
12.10.2018
12:11:35
Сейчас, поем...
std::function это стандартный std::function, в шаблонных параметрах там сигнатура а не тип

оно вызывает и хранит любой функтор

Sergey
12.10.2018
12:13:00
Ilia
12.10.2018
12:13:06
Я на самом деле тут сверху std:: function не увидил, Так что все ок.

Aidar
12.10.2018
12:13:25
Sergey
12.10.2018
12:14:02
ну я в целом про идею за лямбды

Alexey
12.10.2018
12:16:03
указатель на метод - это не то же самое, что указатель на функцию

указатель на метод не содержит информации об объекте, на котором будет вызов

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