| Автор | С++ Вопрос |
Здравствуйте. Возникла надобность "перевода" программы с одного языка на другой. Если точнее, то с плюсов на шарп.
С плюсами ни разу не работал. Увы. Поэтому вопрос к знающим по поводу типа данных 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) |
|---|