Это из официальной документации AutoCAD 2013 (ObjectARX SDK) от компании Autodesk:Что означает символ & *?
ObjectARX для AutoCAD 2013: Readme -> Советы и методы -> Избавление * строки, возвращаемые в Непро- константные указатели: *
При вызове методов, которые возвращают неконстантным струнные указатели (для например,
AcDbSymbolTable::getName(char&* pName))
, вы должны освободить память, занимаемую возвращаемой строки, например:.// The getName() call should be followed by a call to acutDelString(pLtName);pLtTableRcd->getName(pLtName); // ... other code acutDelString(pLtName);
Обратите внимание, что в некоторых образцовых файлах ObjectARX отсутствуют вызовы для бесплатной памяти , поэтому они обнаруживают утечки памяти. При использовании образцов в вашем собственном коде убедитесь, что вы правильно освободили память.
Что делает следующий тип аргумента в виду:
AcDbSymbolTable::getName(char&* pName))
ли это указатель на char&
? В каком смысле? Когда используется такая конструкция?
спасибо.
Это не просто не имеет смысла, это запрещено стандартом, см. [Dcl.ref]/5 _ "Не должно быть ссылок на ссылки, нет ссылок на массивы времени выполнения, нет массивов ссылок, и никаких указателей на ссылки. "_ –
Я не придумал этот пример. Это из официальной документации AutoCAD от компании Autodesk. –
@Bush Вы должны добавить эту информацию в свой вопрос ... –