Страница 4 из 7

Добавлено: 26 окт 2006, 11:48
Marmot
aissp писал(а):надо замедлить ее работу раз в несколько
BS
aissp писал(а): и увеличить ее объем во стока же раз,
Да, это бывает, хотя, если честно, если посмотреть сколько памяти жрут современные программы, написанные на С/С++ всякими там подмастерьями, то особой разницы уже не видно. :evil:

Добавлено: 26 окт 2006, 11:50
aissp
От на етой мажорной ноте предлагаю закончить бессмысленный базар. А то Саня так на свою задачу и не даст ответа =) А впрочем сделаю еще один гесс.

Объявления пременной х не являются ее определениями, и стандарт языка С не запрещает такую конструкцию По кр мере такой вод код легко работает

Код: Выделить всё

int x;
int x;

... main (...) {
x=0;
}

Добавлено: 26 окт 2006, 16:55
ajkj3em
йеп, это называется "tentative definition". бонусный вопрос - а где собсно
место под этот (икс) располагается после компиляции ?

Добавлено: 26 окт 2006, 17:14
tiasur
aissp писал(а): Объявления пременной х не являются ее определениями, и стандарт языка С не запрещает такую конструкцию По кр мере такой вод код легко работает

Код: Выделить всё

int x;
int x;

... main (...) {
x=0;
}
Интересно где он у тебя работает?

Добавлено: 26 окт 2006, 17:30
CdR
tiasur писал(а):Интересно где он у тебя работает?
jfyi, gcc (GCC) 4.1.1 :

Код: Выделить всё

$ cat test.c
#include <stdio.h>
int x;
int x;
int main () {
x=0;
printf ("x=%d\n",x);
}
$ gcc test.c -o test
$ ./test
x=0
$
g++ ругнется на второй int x.

Добавлено: 26 окт 2006, 17:34
aissp
Скажу честно, ответа точно не знал, но предположил что на стеке, на стеке и оказалась, но почему я не совсем понимаю (ща мармот закидает меня пирожками и обхяснит що я не прав)

Остальным = компиляйите как с код не как спп работает и под юнихом гсс и винлами вижуал студио .нет

Re: Что тут неправильного?

Добавлено: 26 окт 2006, 18:39
Ranger
dima писал(а):
tiasur писал(а):struct MStruct
{
int *ptr;
MStruct(int n) { ptr = new int; *ptr = n; }
~MStruct() { delete ptr; }
};
1. default constructor не определен, поэтому destructor упадет с сигналом
2. copy constructor не определен - скопируется мусор, destructor упадет
Мда... есть всё-таки вещи, которые за 7.5 лет абсолютно не меняются: звезды, постоянная Планка, dima и знание им C++ :lol:

P.S. Если ты, конечно, тот самый dima, который писал в 1999 году у Самодова ;)

Добавлено: 26 окт 2006, 21:40
aissp
А рискну ответить еще один раз
при таком объявлении
int x;
int x;
переменная заводиться в области глобальных переменных и нициализируется нулем, однако ето депендс.

static int x;
int x; //x станет статик переменной и будет доступна тока внутри файла


обратный порядок вызовет ошибку компиляции.

Доктор я буду жить? =)

Добавлено: 26 окт 2006, 21:47
tiasur
aissp писал(а): Доктор я буду жить? =)
Как то все это отдаёт недоделанностью компилятора или стандарта.

Добавлено: 26 окт 2006, 21:53
aissp
жЫ шЫ пиши с буквой и... Отдает недоделанностью стандарта однако...

Добавлено: 26 окт 2006, 22:01
tiasur
aissp писал(а): Отдает недоделанностью стандарта однако...
В любом случае нужно расчитывать на здравый смысл своих мозгов, а с дуру можно и ... сломать. Короче всегда нужно знать, что делаешь.

жЫ шЫ пиши с буквой и...
Да тут без исключений.

Добавлено: 26 окт 2006, 22:07
sz
tiasur писал(а):Да пожалуйста:

Код: Выделить всё

int *array(int n)
{
      return new int(n);
}

int main()
{
      int *p = array(10);
      for( int i = 0; i < 10; i++ )
      {
            p[i] = 0;
      }
      printf( "%d\n", p[0] );
     p = array(10);
     printf( "%d\n", p[0] );
      return 0;
}
Tут помимо всеобшей тупизны ничего особенного не замечаю. Ну разве что memory leakage.
Тест проверяет - заметит ли кандидат, что скобочки круглые, а не квадратные.
Меня бы не взяли - я с первого прочтения не заметил.

Добавлено: 26 окт 2006, 22:44
ajkj3em
aissp писал(а):А рискну ответить еще один раз
при таком объявлении
int x;
int x;
переменная заводиться в области глобальных переменных и нициализируется нулем, однако ето депендс.

static int x;
int x; //x станет статик переменной и будет доступна тока внутри файла


обратный порядок вызовет ошибку компиляции.

Доктор я буду жить? =)
не, я не о том. ну да фиг с ним ... бонусный вопрос снимается в связи
с отсутствием бонуса :)

Добавлено: 26 окт 2006, 23:13
sz
Объяснил бы лучше, что у тебя на аватаре нарисовано.

Добавлено: 26 окт 2006, 23:14
Yury
Старина Зотин писал(а):Объяснил бы лучше, что у тебя на аватаре нарисовано.
http://forum.kamorka.com/viewtopic.php? ... highlight=