Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
2:11
1416
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->

АвторС++ Вопрос
Здравствуйте. Возникла надобность "перевода" программы с одного языка на другой. Если точнее, то с плюсов на шарп.
С плюсами ни разу не работал. Увы. Поэтому вопрос к знающим по поводу типа данных vector.

Например - мы объявляем вектор x.
vector<char> x;
Дальше в тексте встречаются строки, которые работают с этим массивом символов, как с boolean.

например
if (x[i]) return false;
x[i] = true;

Объясните пожалуйста неучу =) Буду премного благодарен.
И в чем вопрос?
если переводишь на русский то скачай русификатор и все))
эм.. простите. Вопрос в том - что же на самом деле делают эти строки

if (x[i]) return false;
x[i] = true;

Потому что моя логика это отрицает :) Работу с типом char как с boolean
char - это число 0..255

если число = 0, то фолс
если число != 0, то тру
для AshAngel:
выходит, что в плюсах char - это не символ, а число? Всё больше и больше удивляюсь этому языку :)

Спасибо громадное за объяснение!
Но что тогда делает x[i] = true; ?
x[i] = true;

не знаю, что тут получится
лучше проверить серией экспериментов
Значит надо искать компилятор этого чуда :)
vector<char> x;
bool dotry (int i)
{
if (x[i]) return false;
x[i] = true;
return true;
}
вот этот кусок кода
обычно true = 1
а false всяко = 0
не знаю, что тут получится
лучше проверить серией экспериментов


Единица получится, естественно... чо тут проверять?

А char можно юзать как bool, если нужна гарантированная размерность переменной в один байт (для char она гарантирована спецификацией). Проблем не вижу.
для alex_kocharin:
тип bool занимает больше памяти? Сурово..

Всем громадное спасибо! Наконец то разобрался!
тип bool занимает больше памяти? Сурово..
Тип bool может занимать больше памяти, это зависит от платформы и реализации.

Тип char - 1 байт всегда.
собственно дело в том, что vector<char> x это методы STL, и именно поэтому каждый элемент занимает 2 байта, а не 1. С контейнерами vector нужно работать не так как с массивами, есть стандартные функции STL для работы с ними. На с# честно говоря не работал, не знаю, есть ли там похожие конструкции, хотя по идее должны быть.
для alex_kocharin:
Спасибо за дополнительные объяснения! :)
Ещё раз всем спасибо :)
Закрываю тему:)
тема закрыта by RCAPDART (2011-05-08 14:19:31)
К списку тем
2007-2025, онлайн игры HeroesWM