Berkus
это wrap indicator
Berkus
выкллючи его
🐙 Antony
тут три недели назад хотели поддержку *.ipp файлов для Visual Studio из коробки
🐙 Antony
Все заинтересованные могут лайкнуть https://developercommunity.visualstudio.com/content/problem/132985/out-of-the-box-ipp-files-support-in-visual-studio.html
Ned
What C++ compiler do you use? GCC – 16 👍👍👍👍👍👍👍 53% Clang – 9 👍👍👍👍 30% Other – 4 👍👍 13% ICC – 1 ▫️ 3% 👥 30 people voted so far. Poll closed.
Anonymous
это wrap indicator
Для чего он нужон?
Matwey
Господа, а как так получилось что у vector нет копирующего конструктора для vector с другим алокатором?
Matwey
Или я куда-то не туда смотрю?
Anonymous
а из двух итераторов инициализировать не пробовал?
Matwey
Ну а почему сахара то нету?
Matwey
Наверно простото не определён.
А почему еще никто не написал пропозал, как это тут принято?
Anonymous
Ну а почему сахара то нету?
на шаблоны всю пачку потратили
Matwey
Ладно, жаль
Anton
А почему еще никто не написал пропозал, как это тут принято?
Тебе ничего не мешает написать генератор вектора с другим аллокатором. Этот use case обычно мало кому нужен.
Matwey
Мне мешает вернуть вектор с моим кривым кастомным алокатором из функции
Matwey
Чтобы потом можно было тупо схоронить результат
Matwey
В нормальном векторе
Matwey
Ну и ладно, нету так нету
Anton
Думай) operator vector() определи.
Matwey
Где его определить? Я не могу определить operator vector() на vector<T, MyAllocator>
Matwey
глобальные operator T уже разрешили?
Matwey
чо-то я думал, что так нельзя
Matwey
прикольно, если можно
Matwey
это же такой простор для стрельбы в ногу
ttldtor
Вот поэтому у меня 37 ног
Anton
template<typename T, typename Alloc1, typename Alloc2> operator vector<T, Alloc1>(const &vector<T, Alloc2>) {...} Разве это запрещено?
Anonymous
Anonymous
вроде member написано
Anton
Блэт(
Matwey
Вот поэтому у меня 37 ног
А изначально ты был 40-ножкой?
Evgenii
А изначально ты был 40-ножкой?
зная плюсы, скорее тысяченожкой
Matwey
зная плюсы, скорее тысяченожкой
Не, не, не так. У меня было бесконечное количество ног, а осталось только 37
Matwey
хотя бы счетное?)
Это ж плюсы. Конечно мощности континуума
Constantine
хм... слушайте, а есть известные проекты для замены типовых .h/.cpp файлов классов декларациями (синтаксис для примера) SomeClass : struct copyable serializable { x: int; checkSomething: function() const -> bool; //реализация в каком-то cpp файле doSomething : function(int other) -> void; //реализация в каком-то cpp файле someDelegated: prototype(); };
Sergey
Привет, посоны!
Sergey
Подскажите, а метод emplace у std::map - он позволяет только новую пару ключ-значение добавлять, или обновлять значение у ключа тоже?
Sergey
ну т.е. что будет если сделать так std::map<int,char> m m.emplace( 10, 'a' ) m.emplace( 10, 'b' )
ep
ну т.е. что будет если сделать так std::map<int,char> m m.emplace( 10, 'a' ) m.emplace( 10, 'b' )
В документации написано: Inserts a new element into the container constructed in-place with the given args if there is no element with the key in the container.
Дмитрий
m. emplace(10, "a"); m[10] = "a";
Дмитрий
Есть класс без переменных. Нужно ли его удалять?
Berkus
смотря для чего ты его используешь
Igor
Есть класс без переменных. Нужно ли его удалять?
имеется в виду после new или из кода проекта?
Berkus
можно в неймспейс конвертнуть
Дмитрий
После new
Berkus
После new
нужно конечно
Дмитрий
Хорошо, спасибо )
Berkus
Хорошо, спасибо )
для наглядности выведи sizeof(myClass)
Дмитрий
Действительно, 4 байта да жерт. Спасибо огромное, теперь буду знать.
Dr. Friedrich
Меньше одного не бывает.
Matwey
Что меньше одного не бывает?
Дмитрий
Класс
Igor
Что меньше одного не бывает?
размер объекта не может быть меньше одного байта
Igor
впрочем gcc на это как всегда насрать :D
Matwey
А как по вашему должно работать нестандартное такое расширение: struct { char buf[0]; };
Dr. Friedrich
Нестандартное никак не должно работать, по-моему.
Matwey
Да
Matwey
Но все пользуются buf[0];
Matwey
Особенно писатели кода для микроконтроллеров
Dr. Friedrich
Ну, вернее, как-то работает, конечно же, но это всё на совести вендоров.
Dr. Friedrich
Слушайте, а в C это не было стандартизовано, а?
Matwey
Нет
Дмитрий
А получается char buf[0]; sizeof(buf); Будет 0. Тоесть объект не создался или все таки размер может быть меньше 1?
Matwey
https://wandbox.org/permlink/LZJ0bneLFDEOvmiD
Matwey
Вот вам
Matwey
gcc считает что 0
Matwey
и clang тоже
Matwey
Ссылка на wandbox выше
Matwey
Ссылка на wandbox выше
Дмитрий
Какой то китайский сервис. cpp.sh пробывал?
Дмитрий
https://wandbox.org/permlink/LZJ0bneLFDEOvmiD
Berkus
Ссылка на wandbox выше
а sizeof(struct) какой?
Matwey
а sizeof(struct) какой?
0 же. ссылка же, на wandbox же :(
Dr. Friedrich
а sizeof(struct) какой?
Да вон же у него ссылка, ну. Он вывел.