Как разместить неконструктурную функцию вызов в C ++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как разместить неконструктурную функцию вызов в C ++?

Сообщение Anonymous »

C ++ имеет новый синтаксис, который вызывает конструктор с пользовательским выходным адресом.

Код: Выделить всё

struct external_class{ 	unsigned short data; }; struct external_class *_ZN14external_classC1Ev(struct external_class *out); struct external_class *_Z17external_functionv(struct external_class *out); void construst_external_class_at(struct external_class *out){ 	_ZN14external_classC1Ev(out); } void return_external_function_at(struct external_class *out){ 	_Z17external_functionv(out); }
здесь незакончен (замените/что?

Код: Выделить всё

#include  class external_class{ public: 	external_class(); 	~external_class(); 	unsigned short data; }; external_class external_function(); extern "C" void construst_external_class_at(external_class *out){ 	new(out) external_class; } extern "C" void return_external_function_at(external_class *out){ 	/* what? */ }
Godbolt

Подробнее здесь: https://stackoverflow.com/questions/796 ... -call-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»