Вопрос по С++

Ответ: Вопрос по С++

Код:
string[] array;
array = new string[1000];
                ......
int a = 0;   
while ( 1 ) {
  Console.WriteLine("Введите строку:");
  string stroka = Console.ReadLine();
  array[a] = stroka;
  a = a + 1;
}
Уже реализовал, не так, но - работает :)
Вопрос - как удалить последний елемент масива? :lol:
 

quant

yeah
Відповідь: Вопрос по С++

гм лучше создай тему "Ява"
в С++ массив имеет фиксированое количество элементов
 
Помощь по C#

Как удалить последний елемент масива? :lol:

ЗЫ: непугайтесь, язык - смесь Java, VB, C/C++
ЗЫЫ: разобрался, знаение null присвоить. :)
 
Останнє редагування модератором:

NiCketT

Member
Делаю лабары по С++

Делаю лаболаторки по С++ (OOP, STL). Дешево! Если буду добреньким могу вообще бесплатно :p
Ображатся на мыло или по ICQ :wink:
Пример выполнения задания (и само задание) находятся во вложении 8)
 

Вкладення

quant

yeah
Відповідь: Вопрос по С++

Код:
   const void* nil = (void*) NULL;
   std::pair<void*, int> root;
   root.first = nil;
Код:
error: invalid conversion from ‘const void*’ to ‘void*’
это при описании пары не продумали, или я чего-то не понимаю ?
если я пишу для класса оператор присваивания, то пишу так
operator= (const T& etalon), так почему при присваивании значения элементу пары используется не константа ?
я теперь использую void* nil = (void*) NULL; но всётаки
а необходимость в nil возникла после std::pair<void*, int> root (NULL, 0);
 

GrAndSE

Тёмный
Модератор
Ответ: Відповідь: Вопрос по С++

Зачем такие ухищрения? Неужели код
Код:
        std::pair<void*, int> root;
        root.first = NULL;
не компилируется? Или же
Код:
        std::pair<void*, int> root(NULL, 0);
? У меня
Код:
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
прекрастно справляетс со всем этим. Я не пойму зачем nil этот вообзе сдался?
И зачем такие заморочки ещё с определением nil'а? Зачем приведение? По-моему, NULL вообще как
Код:
#define NULL ((void*) 0)
определен.

Сразу не заметил, но хочется добавить, что для присвоения operator= (const T& etalon) используется ссылка, которая внутри операта определена как константа. Это сделано для того, что бы оператор присвоения "внутри себя" не мог изменить значение аргумента, но ссылка в ряде случаев тоже может быть весьма необходима. Чтобы не получился оператор со свойствами предиката :) Обрати внимание на конвертирование ссылок и указателей.
 
Останнє редагування:

quant

yeah
Відповідь: Вопрос по С++

такс пока я перевариваю добавку о operator= вот ещё проблема
Код:
class CondorcetVoting {
	public:
	bool cmp (const int& a, const int& b) {
	   return a < b;
	}
	int winner() {
	   vector<int> major;
	   sort (major.begin(), major.end(), cmp);
           return int();
	}
};
вот класс в котором сортится вектор мажор, но так вылатает ошибка компиляции, а если вынесу cmp за пределы класса всё нормально
пытаюсь сделать ещё так, но не успешно
Код:
sort (major.begin(), major.end(), reinterpret_cast<bool(const int&, const int&)> (cmp) );
почему так ??
 
Останнє редагування:
Зверху