Результаты поиска по запросу "c++"

2 ответа

Он не говорит об определении функции внутри другой функции, он говорит об использовании функции внутри другой функции.

не вызвать функцию внутри другой функции в C ++?

4 ответа

В моей книге не следует полагаться, что финализаторы будут вызываться во время выполнения. Уничтожение является явным, и вы имеете более тонкий и детерминированный контроль над ним.

я есть приложение .NET C # / C ++, которое использует вызовexit(0) (из<stdlib.h>) в теме, чтобы завершить. При некоторых обстоятельствах странным является то, что финализаторы управляемых объектов вызываются сразу после вызоваexitи при других ...

1 ответ

Это так же сложно, как обсуждаемый вопрос, @conectionist. Стоит изучить все ответы!

я есть следующая функция в C ++: char** f() { char (*v)[10] = new char[5][10]; return v; }Visual studio 2008 говорит следующее: error C2440: 'return' : cannot convert from 'char (*)[10]' to 'char **'Каким именно должен быть возвращаемый тип, ...

ТОП публикаций

6 ответов

Тем не менее, единственная опция, которая у вас есть, - это использовать .NET и использовать управляемый C ++, который Microsoft называет Managed C ++ / CLI. Но предостережение в том, что ваш класс должен быть управляемым «ref class», то есть управляемым классом. В конце концов все это сводится к MSIL и промежуточному языку, который не зависит от языка. Это единственный способ использовать отражение в .NET во время выполнения, чтобы обнаружить его функции-члены и значения. Однако даже с использованием .NET это не так просто, как вы описали, как вы хотели бы использовать его выше. Еще одним недостатком рефлексии является то, что она медленная, поэтому, если вы интенсивно ее используете, у вас плохой дизайн. Отражение приятно тем, что .NET использует его, чтобы помочь в сериализации типов данных, что делает сериализацию XML очень простой в использовании.

оложим, у меня есть объект со многими членами: class Example { AnotherClass member1; AnotherClass member2; YetAnotherClass member3; ... };Есть короткий / краткий способ сделать что-то вроде: foreach(member m: myExample) m.sharedMethod();Вместо ...

8 ответов

some_type some_function () {POD_type this_is_intentionally_uninitialized; ...}

книгаЯ сейчас читаю, я столкнулся с этим: [http://www.agner.org/optimize/]Класс не нуждается в конструкторе. Конструктор по умолчанию не требуется, если объект не нуждается в инициализации. Правильно ли я понимаю из вышесказанного, что ...

3 ответа

+1 На самом деле одно место, где я использовал void указатель, было подходящим для использования интерфейса класса .. выглядит намного лучше после редактирования!

у код, и до сих пор я использовал такие структуры: struct s{ enum Types { zero = 0, one, two }; unsigned int type; void* data; }Мне нужна была некоторая общая структура для хранения данных из разных классов, и я хотел использовать ее в std :: ...

1 ответ

@ldov: Я не понимаю: хотите, чтобы у каждого потока был свой экземпляр функтора? Если это так, создайте отдельный экземпляр для каждого потока. Хотите ли вы, чтобы все потоки имели общий доступ к одному и тому же функтору? Если это так, создайте его и синхронизируйте доступ к нему, используя мьютекс или другой метод синхронизации ...

я есть Functor, который мне нужно отправить в функцию, которая получает указатель функции в качестве параметра (например,CreateThread). Можно ли как-то преобразовать его в статический адрес метода? И если нет, как я могу это сделать?

3 ответа

 общеизвестно сложно сравнивать. ASCII обманывает, игнорируя 95% всего текста в мире.

у сравнить строки на персидском языке (utf8). Я знаю, что должен использовать что-то вроде L "گل", и оно должно быть сохранено в wchar_t * или wstring. вопрос в том, что когда я сравниваю по строкам функции compare (), я не получаю правильный ...

1 ответ

 ситуация не возникнет так часто, потому что у вас будут ссылки везде. Также существует семантическое различие между принятием ссылки и указателя в API. Принятие ссылки ясно означает, что функция не может быть вызвана с нулем. Если это ссылка, то это ответственность вызывающего абонента, если это указатель, то это ответственность вызываемого абонента.

ал об указателях функций и об использовании их в качестве параметров для других функций. Мой вопрос: как бы вы передали функцию по ссылке, не используя указатели? Я пытался найти ответ в Интернете, но я не нашел хорошего ответа. Я знаю, что вы ...

2 ответа

Индексирование в массивы произвольного ранга в C #

ел бы сделать следующее: Создайте три димезинальных массива в коде c # следующим образом: var myArray = new short[x,y,z]; UnanagedFunction(myArray);Передайте его в неуправляемый код (c ++) следующим образом: void UnmanagedFunction(short*** ...