Модераторы: Alx, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тест на знание С++, Загадки и отгадки. 
:(
    Опции темы
Любитель
Дата 20.12.2006, 17:37 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Плохо говорить, когда ответ уже был. Если пытаться делать тривиально то тебе нужен бесконечный printf.


--------------------
PM MAIL ICQ Skype   Вверх
DeMoNN
Дата 20.2.2009, 17:18 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 21.3.2008

Репутация: нет
Всего: 2



можно его в ресурсы запхать smile это уже не ВНЕШНИЙ а ВНУТРЕННИЙ источник бует))))
PM MAIL ICQ   Вверх
Goliaf777
Дата 29.3.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 19.11.2008

Репутация: нет
Всего: нет



Вот очень  легкая задачка: зачем нужно перегружать стандартный оператор присваивания и конструктор копирования, при динамическом распределении памяти в классе?
PM MAIL ICQ Skype Jabber   Вверх
GoldFinch
Дата 29.3.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



чтоб члены класса - указатели  не копировались в другой объект %)
PM MAIL ICQ   Вверх
Rififi
Дата 29.3.2009, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: нет
Всего: 36



Код
std::vector<std::string> v;
v.reserve(1);
v[0] = "Hello, world!";
std::cout << v[0];

что выведет программа?
PM MAIL   Вверх
azesmcar
Дата 29.3.2009, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: нет
Всего: 211



Цитата

что выведет программа? 


не вызван конструктор для std::string. хрень какую нибудь или access violation.
PM   Вверх
azesmcar
Дата 1.6.2009, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: нет
Всего: 211



и задача, может многие знают, встретил на брейнбенче, довольно интересная smile 
Код

struct A
{
    A(): i(1){}
    int i;
};

struct B : A
{
    B(): j(2){}
    int j;
};

int main()
{
    A *p = new B[10];
    A *q = p;
    int total = 0;
    for (int i = 0; i < 10; ++i)
    {
        total += q++->i;
    }

    //чему равна переменная total в этом участке кода?
    delete [] p;
    return 0;
}



Это сообщение отредактировал(а) azesmcar - 1.6.2009, 08:47
PM   Вверх
GoldFinch
Дата 4.6.2009, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



azesmcar, видимо total == 10
хотя непонятно зачем там int j; и зачем такие кривые идентификаторы
PM MAIL ICQ   Вверх
azesmcar
Дата 4.6.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: нет
Всего: 211



Цитата(GoldFinch @  4.6.2009,  19:45 Найти цитируемый пост)
azesmcar, видимо total == 10

нет, 10 было бы слишком просто smile 

Цитата(GoldFinch @  4.6.2009,  19:45 Найти цитируемый пост)
хотя непонятно зачем там int j; и зачем такие кривые идентификаторы 

я бы сказал, но тогда другим будет неинтересно, попробуй скомпилировать и запустить. Думаю станет понятно. А если под дебагером посмотришь память - думаю вопросов не останется. Если что пиши в личку обясню.
PM   Вверх
Любитель
Дата 4.6.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Инкрементится указатель на A, он не знает о фактическом размере элементов массива, т. е. сдвиг будет на sizeof(A). А фактически - будут пройдены 5 элементов, сумма 15. Так?

PS Блин, печально другое - вначале хотел сказать, что программа вывалится, так как выделили память только под массив, а не под сами объекты. Год работы с шарпом даёт о себе знать.. smile 

Это сообщение отредактировал(а) Любитель - 4.6.2009, 20:37


--------------------
PM MAIL ICQ Skype   Вверх
azesmcar
Дата 4.6.2009, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: нет
Всего: 211



Цитата(Любитель @  4.6.2009,  20:36 Найти цитируемый пост)
Инкрементится указатель на A, он не знает о фактическом размере элементов массива, т. е. сдвиг будет на sizeof(A). А фактически - будут пройдены 5 элементов, сумма 15. Так?

Да, только будет пройдено на 5 а 10. Просто 5 из них будет прибавлено 1, для остальных 5-и будет прибавлена 2. Или мы о разном.
В итоге - 15, все абсолютно верно. smile 

Цитата

PS Блин, печально другое - вначале хотел сказать, что программа вывалится, так как выделили память только под массив, а не под сами объекты. Год работы с шарпом даёт о себе знать.. smile 

 smile бывает...именно так и бывает smile

Это сообщение отредактировал(а) azesmcar - 4.6.2009, 20:46
PM   Вверх
newsl
Дата 1.11.2009, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 1.11.2009

Репутация: нет
Всего: нет



#include<iostream>
using namespace std;

int main ()
{
    int a(3);
    int b(9);

    a+=b;
    b-=a;
    a+=b;
    b*=~0;
    
    cout<<a<<endl;
    cout<<b<<endl;

system ("pause");
return 0;

}
PM MAIL   Вверх
Belirafor
Дата 4.11.2009, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 15.8.2009

Репутация: нет
Всего: нет



сорри не туда!

Это сообщение отредактировал(а) Belirafor - 4.11.2009, 00:23
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема »


 




[ Время генерации скрипта: 0.1492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.