![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| useronforum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 23.4.2009 Репутация: нет Всего: нет |
Как правильно объявлять переменные в 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; - нет ошибок Это сообщение отредактировал(а) useronforum - 23.4.2009, 04:32 |
|||
|
||||
| Grok |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 17.12.2007 Репутация: нет Всего: нет |
если работают, тогда все три варианта правельные )
но если разобрать семантически то получим: 1 String ^fileName1 = String (^fileName1); 2 String^ fileName1 = (String^) fileName1; для меня лично более адекватной является вторая запись, где переменной является fileName1, которая имет тип данных указатель на строку |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 9 Всего: 49 |
Жестокие у вас загоны
Правильнее вариант с String ^fileName1, т.к. ^ относится именно к конкретной переменной. Но даже в MSDN в статье по ^ (Handle to Object on Managed Heap) смешаны все 3 стиля |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 8 Всего: 67 |
PashaPash, потому что примеры там пишут студенты
-------------------- СУВ, Partizan. |
|||
|
||||
| useronforum |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 23.4.2009 Репутация: нет Всего: нет |
Нашёл
"C++ Programming Style Guidelines" (http://geosoft.no/development/cppstyle.html)
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
Однако приведение к типу будет выглядеть так: String^ var1 = (String^)var2; -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 8 Всего: 67 |
useronforum, это для native C++.... и то эти гайдлайны могут оверрайдиться на уровне корпоративных кодинг гайдлайнов/стандартов. либо на уровне команды...
-------------------- СУВ, Partizan. |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 9 Всего: 49 |
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/sv...nce_Expressions |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |