MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« : 06-09-2004 10:16 » |
|
Грядёт у нас скоро массовый переход на .НЕТ . Два програмера уже перешли на си шарп и бейсик .НЕТ .
Хочется спросить у тех кто програмил уже на си плюс плюс в .НЕТе, сильно ли отличается, и насколько болезненный переход будет ?
Стоит ли мне (ещё только 4 месяца програмирующему на си плюс плюс в 6-ой студии) начать осваивать ?
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Alex White
|
|
« Ответ #1 : 06-09-2004 10:33 » |
|
Если хочется .Net - лучше программить на C#. Моё мнение - стоит! На С++ можно и в 6й студии писать. Но я думаю что после .Net этого не захочется
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #2 : 06-09-2004 15:42 » |
|
ну я пробовал на C++ .NET пописать... Ну не могу я без delete C++ помыслить, С++ со сборщиком мусора - это уже не С++, а извращение (имхо). Посему C#, а теперь вот VB .NET.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #3 : 08-09-2004 10:25 » |
|
Попробовал си шарп 2005 экспресс. Первые впечатления положительные, особенно понравился интеллисенс Парням из томато софтваре уже практически нечего энхансить
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Alex White
|
|
« Ответ #4 : 09-09-2004 13:50 » |
|
согласен эта фишка безусловно рулит.
|
|
|
Записан
|
|
|
|
Mfcer__
Команда клуба
Offline
|
|
« Ответ #5 : 09-09-2004 21:57 » |
|
Попробовал си шарп 2005 экспресс. Первые впечатления положительные, особенно понравился интеллисенс Парням из томато софтваре уже практически нечего энхансить так ведь в 2005 Studio есть правленный C++/CLI ( в дальнейшем он будет называться так) по удобству он не будет отличаться от C# на msdn.com есть и спецификация языка и прочее
|
|
|
Записан
|
|
|
|
Serega
Гость
|
|
« Ответ #6 : 10-09-2004 06:17 » |
|
Парням из томато софтваре уже практически нечего энхансить Одного intellisence давно не достаточно, Tomato не рулит с тех пор как ребята из JetBrains идеевские фичи реализовали как плагин для студии Вот когда MS сделает нормальную поддержку рефакторинга, тогда можно говорить что студия стала вещь в себе
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #7 : 10-09-2004 07:25 » |
|
так ведь в 2005 Studio есть правленный C++/CLI ( в дальнейшем он будет называться так) по удобству он не будет отличаться от C# на msdn.com есть и спецификация языка и прочее Сегодня поимел студию 2005 бета 1 на ДВД. Дома заинстулю, и посмотрю на этого зверя C++/CLI
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #8 : 10-09-2004 07:27 » |
|
Одного intellisence давно не достаточно, Tomato не рулит с тех пор как ребята из JetBrains идеевские фичи реализовали как плагин для студии Я прчитал всю рсдновскую ветку по поводу ихнего решарпера Глюков ещё немерено Так зачем же добавлять ихние глюки к глюкам самой студии ? Вот когда они вторую версию зарелизят, тогда посмотрим
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #9 : 14-09-2004 05:36 » |
|
Обнаружил странный глюк при создании мфц прожекта в вижуал си ++ .НЕТ : Создал визардом простое диалог-базед приложение. поместил едитбокс и в обработчике кнопки ОК написал чтобы при нажатии выдавало текст из едита в месаджбокс. Откомпилил, всё ок, но ввожу текст, и получаю пустой месаджбокс Переменную на едит бокс создавал при помощи эдд вариэйбл. Вписал в он клик UpdateData)TRUE:; - не помогло. Начал смотреть код, и обнаружил что визард не создал в DoDataExchange)CDataExchange* pDX: вот эту строку : DDX_Control)pDX, IDC_EDIT1, m_Edit1:; Прописал её вручную и всё заработало. Это у меня так глюкнуло, или это есть буг такой ? Писал в студии 2003 (лицензионной).
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Serega
Гость
|
|
« Ответ #10 : 14-09-2004 05:47 » |
|
Оконный визард не связывает контролы с переменными, для этого есть отдельный визард
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #11 : 14-09-2004 06:34 » |
|
Serega, понятно. Просто купил недавно книжку Вижуал С++ .НЕТ - Библия пользователя и делал по описаному там сценарию. Вот и подумал что глюк студии, а оказывается просто очепятка в книге
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Misteras2003
Гость
|
|
« Ответ #12 : 04-04-2006 14:36 » |
|
У меня вопрос: Как в структуру поместить строковую переменную String?
При компиляции:struct Mega { String ^as; }; int main() { Mega MegaString; MegaString.as = "AsForever"; } Программа выдает ошибку:!!! error C3265: cannot declare a managed 'as' in an unmanaged 'Mega' !!!
|
|
« Последнее редактирование: 19-12-2007 21:30 от Алексей1153++ »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #13 : 04-04-2006 14:46 » |
|
struct Mega { String ^as; };
Обьясни, что значит значек ^. По идее говоря, компилятор должен на него отругаться в начале.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #14 : 04-04-2006 15:09 » |
|
Обьясни, что значит значек ^. По идее говоря, компилятор должен на него отругаться в начале. Я не сильно вникал в реализацию C++.NET, он же Managed C++, но по моему вот это ^ в Managed варианте есть некое подобие * в Unmanaged варианте
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Misteras2003
Гость
|
|
« Ответ #15 : 05-04-2006 08:55 » |
|
Для моего компилятора "^" аналог "*". Как в стуктуре сделать строковую переменную?
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #16 : 06-04-2006 06:34 » |
|
Программа выдает ошибку: !!! error C3265: cannot declare a managed 'as' in an unmanaged 'Mega' !!!
Судя по сообщению, тут проблема в том, что ты пытаешся декларировать managed код в unmanaged коде. Вот тебе пример со структурами в managed и unmanaged коде : #using <mscorlib.dll> using namespace System;
#pragma unmanaged
struct NativePairD { public: double First; double Second; };
class MyNativeAlgo { public:
static void Execute( NativePairD* data, int numberOfPoints ) { for ( int i = 0; i < numberOfPoints; i++ ) { data[i].Second += 1.23456; } } };
#pragma managed
__value public struct PairD { public: double First; double Second; };
int main() { PairD PairDArray[] = new PairD[10]; PairD __pin* ppd = &PairDArray[0];
for ( int i = 0; i < 10; i++ ) PairDArray[i].Second = i;
MyNativeAlgo::Execute( (NativePairD*)ppd, PairDArray->Length );
for ( int i = 0; i < 10; i++ ) Console::WriteLine( PairDArray[i].Second );
return 0; }
Код не проверял, но должно работать. ЗЫ. А вообще, ИМХО конечно, C++/CLI - есть изврат! И уж если надо на .НЕТ писать, то лучше уже на C#
|
|
« Последнее редактирование: 19-12-2007 21:32 от Алексей1153++ »
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Misteras2003
Гость
|
|
« Ответ #17 : 14-04-2006 04:29 » |
|
Дан файл(в строке первое значение - число, второе - слово, третье - чаровский): 234 слово1 s 5345 слово2 d надо взять из файла значения так что: int q1, q2; q1=234; q2=5345; String ^s1, ^s2; //("^"="*") s1="слово1"; s2="слово2"; char ch1, ch2; ch1=s; ch2=d; Программа: String ^input = "input.txt", ^output = "output.txt", ^text; int q1, q2; String ^s1, ^s2; char ch1, ch2; if (File::Exists( input )) { if ( File::Exists( output ) ) { File::Delete( output ); } StreamWriter ^output_f = gcnew StreamWriter( output ); StreamReader ^input_f = gcnew StreamReader( input ); try { //////////////////////////////////////////////////////////////////////// // Как сделать, так чтобы считывать строку поочередно( 1)234, 2)слово1, 3)s 4)Уход на новую строку )?? //Внизу код считывает всю строку, а затем надо обрабатывать эту строку. while ( text = input_f->ReadLine() ) { //обработка строки } /////////////////////////////////////////////////////////////////////// } finally { delete ( input_f ); delete ( output_f ); } }
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #18 : 14-04-2006 05:28 » |
|
Misteras2003, а не пробовал переменные заменить массивами? А то и одним массивом структур. И вообще, для чего тут указатели и delete в конце, если это .NET? Строки в .NET и так являются объектами, следовательно, размещаются в куче.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Mouse
Молодой специалист
Offline
|
|
« Ответ #19 : 14-04-2006 06:04 » |
|
Есть метод Split(), его и используй. Например, так: String[] fields = text.Split(' ');
|
|
« Последнее редактирование: 19-12-2007 21:36 от Алексей1153++ »
|
Записан
|
|
|
|
Misteras2003
Гость
|
|
« Ответ #20 : 15-04-2006 15:05 » |
|
Как сделать массив структуры(struct) и как вносить значения в этот массив : ref struct QWE { int Number; String ^Str; };
|
|
|
Записан
|
|
|
|
xelos
Гость
|
|
« Ответ #21 : 27-04-2006 21:15 » |
|
а StringBuilder в .NET вообще-то никто не отменял для работы со строками
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #22 : 27-04-2006 23:24 » |
|
Misteras2003, а зачем пользоваться символом "^" вместо милого сердцу "*" ? (Раз уж они там у тебя одно и то же) ?
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #23 : 28-04-2006 02:42 » |
|
Алексей1153, а откуда ты знаешь, какой человеку символ милее? Может человек на Pascal привык писать.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #24 : 28-04-2006 03:59 » |
|
Misteras2003, а зачем пользоваться символом "^" вместо милого сердцу "*" ? (Раз уж они там у тебя одно и то же) ? А потому что в managed C++\CLI "*" нету В managed C++\CLI "*" заменён на "^"
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #25 : 28-04-2006 15:36 » |
|
MOPO3, вот это изверги dimka, ну не наю может быть
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #26 : 28-04-2006 17:41 » |
|
MOPO3, вот это изверги Согласен Если уж С++ то стандартный. Ну а если уж так необходимо под .НЕТ, тогда полюбому С#
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
|