| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Как правильно объявлять переменные (String, array) |
| Автор: useronforum 23.4.2009, 04:10 |
| Как правильно объявлять переменные в Visual C++ .NET? В справке в разных примерах по-разному пишется. (Вариант №2 чаще встречается для строк, а вариант №3 чаще встречается для массивов) 1. String ^fileName1 = "abcde"; 2. String^ fileName1 = "abcde"; 3. String^fileName1 = "abcde"; 1. array<Byte> ^a1 = gcnew array<Byte>(32); 2. array<Byte>^ a1 = gcnew array<Byte>(32); 3. array<Byte>^a1 = gcnew array<Byte>(32); (Все эти варианты работают, но как правильнее писать) Я думаю, что правильнее вариант №1, так как при объявлении нескольких переменных: String^ a1, a2; - ошибка String ^a1, a2; - ошибка String ^a1, ^a2; - нет ошибок |
| Автор: Grok 23.4.2009, 13:20 |
| если работают, тогда все три варианта правельные ) но если разобрать семантически то получим: 1 String ^fileName1 = String (^fileName1); 2 String^ fileName1 = (String^) fileName1; для меня лично более адекватной является вторая запись, где переменной является fileName1, которая имет тип данных указатель на строку |
| Автор: PashaPash 23.4.2009, 13:38 |
| Жестокие у вас загоны Правильнее вариант с String ^fileName1, т.к. ^ относится именно к конкретной переменной. Но даже в MSDN в статье по ^ (Handle to Object on Managed Heap) смешаны все 3 стиля |
| Автор: Partizan 23.4.2009, 14:26 |
| PashaPash, потому что примеры там пишут студенты |
| Автор: useronforum 23.4.2009, 14:45 | ||
| Нашёл "C++ Programming Style Guidelines" (http://geosoft.no/development/cppstyle.html)
|
| Автор: Partizan 23.4.2009, 15:05 |
| useronforum, это для native C++.... и то эти гайдлайны могут оверрайдиться на уровне корпоративных кодинг гайдлайнов/стандартов. либо на уровне команды... |
| Автор: PashaPash 23.4.2009, 16:03 |
| Partizan, это и есть корпоративный станадарт какого-то "геософта". Добавлено через 5 минут и 16 секунд When declaring a pointer variable or argument, you may place the asterisk adjacent to either the type or to the variable name. http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Pointer_and_Reference_Expressions |