- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
// этот код дает Segment Fault
struct TypeNames
{
std::string typeName;
};
class LLVMRTTIHelperVCLinux
{
SmallVector<TypeNames> types;
}
// a этот нет
class LLVMRTTIHelperVCLinux
{
SmallVector<std::string> types;
}
А что, не должен? ;)
И так же напарывались на проблемы с ними.
В смысле? В "Си" нет концепции "объект" как в "C++", и нет естественно никаких "деструкторов" и "move-семантики".
От того, что на уровне языка поддержки какой-то хуйни нет, это не означает, что и базовая концепция этой хуйни неприменима. Блядь, да большинство си-подобных языков сделаны по принципу "а давайте запилим синтаксический сахарок чтобы Х делать автоматически/одной строкой"
Не, ну если так рассуждать, то это "владение" и в ассемблере есть. Там же тоже можно что-то как-то выделить через какую-то "функцию" и потом куда-то там передавать и как-то освобождать
https://govnokod.ru/user/1503
Он прилетал в каждую ветку обсуждения, чтобы написать очевидную вещь.
З.Ы. Ну и в сам массив ничего не вставлял на протяжении этой функции?
З.З.Ы. Разница между выведенным типом typeName в 3 и 4 строчке как бы намекает на что-то из этих вариантов. Именно поэтому я против auto.
Покажи тогда что дальше происходит с typeName.
Недавно пытался что-то написать на крестах и как раз вляпался в auto и auto &.