IntPtr. Обнулить эквивалентный пустому указателю?

Вы получаете много вещей, которые прибывают в C++ 0x. Но кроме той общности, некоторые лучшие специфические особенности являются простым regex библиотека , библиотека кастинга для кастинг от строк до ints (Лексический бросок):

int iResult = 0;
try
{
    iResult = lexical_cast("4");
}
catch(bad_lexical_cast &)
{
    cout << "Unable to cast string to int";
}

А библиотека даты/времени , среди других...

using namespace boost::gregorian;
date weekstart(2002,Feb,1);
date thursday_next = next_weekday(weekstart, Thursday); // following Thursday

существует также интерфейс Python (Повышение Python), лексический анализатор/синтаксический анализатор DSL (Дух Повышения):

// A grammar in C++ for equations
group       = '(' >> expression >> ')';
factor      = integer | group;
term        = factor >> *(('*' >> factor) | ('/' >> factor));
expression  = term >> *(('+' >> term) | ('-' >> term));

и это просто царапает поверхность...

58
задан SwDevMan81 1 September 2011 в 14:51
поделиться

2 ответа

Для целей P / Invoke, подобных вам перечисленных, вы должны использовать IntPtr.Zero вместо NULL . Обратите внимание, что это не эквивалентно ключевому слову C # null .

71
ответ дан 24 November 2019 в 19:02
поделиться

Вы не можете присвоить null типу значения. Тип-ссылка может быть нулевым, например, не относящимся к экземпляру объекта, но тип-значение всегда имеет значение.

IntPtr.Zero - это просто постоянное значение, представляющее нулевой указатель.

8
ответ дан 24 November 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: