Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: странный символ в си++ коде в visual studio
Форум на CrossPlatform.RU > Разработка > С\С++
voipp
При создании форм в visual studio встречаю такой символ : ^ похожий на ссылку в pascal. Ктонибудь знает что это?
Litkevich Yuriy
по-моему в студии уже какая-то помесь пошла Си++ и С#
Iron Bug
ну, вообще это побитовое XOR.
мало ли где может встретиться... про формы в VS сказать не могу - не пользуюсь VS.
Litkevich Yuriy
Цитата(Iron Bug @ 24.4.2011, 18:16) *
ну, вообще это побитовое XOR.
я как-то смотрел один исходник, там был этот "домик", но он не клеится никак в качестве логической операции (не на своём месте).
Вот например:
        Void displayException(Exception^ exception)
        {
            StringBuilder^ stringBuilder = gcnew StringBuilder();
            do
            {
                stringBuilder->Append(exception->Message + "  ");

                if (exception->GetType() == Win32Exception::typeid)
                {
                    stringBuilder->Append("Error code 0x" + ((Win32Exception^)exception)->NativeErrorCode.ToString("x") + ".  ");
                }

                exception = exception->InnerException;
            }
            while (exception != nullptr);
            MessageBox::Show(stringBuilder->ToString(), this->Text, MessageBoxButtons::OK, MessageBoxIcon::Error);
        }


Это из файла MainWindow.h
к нему есть только файл MainWindow.resx
mezmay
Значит создан CLR-проект в Visual Studio, то есть используется managed C++ (т.е. расширенный, не стандартный С++) и библиотека .NET
короче говоря .NET как и Qt расширяет С++

^ - аналог * в unmanaged C++
gcnew - аналог new
Phoenix_nsk
Это "умные" указатели.
Алексей1153
Цитата(Litkevich Yuriy @ 24.4.2011, 19:01) *
я как-то смотрел один исходник, там был этот "домик", но он не клеится никак в качестве логической операции (не на своём месте).


Юр, дык для целых чисел это побитовое xor (не булево, а побитовое). А в целом и общем это бинарный оператор, который можно и переопределить

и никаких загадок вовсе или, Боже упаси, умных указателей ))
Litkevich Yuriy
Алексей1153, ты код приведённый мной внимательно смотрел?
Алексей1153
Litkevich Yuriy, упс ) Да, в аргументе странно.


ОФФ:


Но через такой костыль:

#define ^ *

прокатит
Phoenix_nsk
Если *, то не значит что это умножение.
Если ^ - не 100% значит побитовое исключающее или.

^ - в том числе и "умные" указатели.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.