Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
1

Статический массив как член класса

02.10.2015, 18:19. Просмотров 299. Ответов 9
Метки нет (Все метки)

Я туплю, что ли, почему это компилируется? о_О

C++
1
2
3
4
5
6
7
8
struct V
{
    int v[10];
};
 
V v1;
V v2(v1); // копирование
v2 = v1; // присваивание
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2015, 18:19
Ответы с готовыми решениями:

Как изменить статический приватный член класса?
Как изменить статический приватный член класса если менять его нужно в main()!??

Объект, как статический член собственного класса, как?
Нужно , чтобы static member был пронициализирован объектом собственного класса....

Статический константный член-класса
Добрый день, что компилятору не нравится? VS 2013 // рекурсивное шаблоное...

Массив объектов класса как член другого класса
Здравствуйте. У меня тут возникла проблемка #include "main.h" class...

Массив как член класса
Почему мне GCC выдаёт ошибку компиляции, что это zero-sized array ? struct...

9
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
02.10.2015, 18:30 2
Компилируется.
Какие ошибки?
0
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
02.10.2015, 18:31  [ТС] 3
так не должно, там же статический массив фиксированной длины! Как компилятор выполняет копирование и присваивание структуры?!
0
Enno
02.10.2015, 18:32
  #4

Не по теме:

Цитата Сообщение от ITcrusader Посмотреть сообщение
Как компилятор выполняет копирование и присваивание структуры?!
Эксперт C++
Хз, ты ведь эксперт. Вот и расскажи нам.

0
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
02.10.2015, 18:34  [ТС] 5
Цитата Сообщение от Enno Посмотреть сообщение
В коде нет ни одного слова static
Да при чем тут static?

разве может компилятор создать копирующий c-tor для этого класса и оператор присваивания (если да, то что они должны делать???)
0
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
02.10.2015, 18:35 6
Ну и что, что массив? Скопируется всё как есть.
0
Enno
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
02.10.2015, 18:36 7
Цитата Сообщение от ITcrusader Посмотреть сообщение
разве может компилятор создать копирующий c-tor для этого класса и оператор присваивания (если да, то что они должны делать???)
Побайтовое копирование. БУМ! Задача решена.
0
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
02.10.2015, 18:44  [ТС] 8
Забавно, я никогда так не делал и не думал, что это будет компилироваться. Ведь поле класса - константный указатель на область памяти.
0
castaway
Эксперт С++
4930 / 3037 / 453
Регистрация: 10.11.2010
Сообщений: 11,116
Записей в блоге: 10
Завершенные тесты: 1
02.10.2015, 18:54 9
Это называется "поверхностным копированием". Просто копируются все поля, находящиеся в классовом типе. Так что всё нормально.

Цитата Сообщение от ITcrusader Посмотреть сообщение
Ведь поле класса - константный указатель на область памяти.
Это обычный массив.
0
mporro
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
02.10.2015, 19:52 10
-- Вы знаете, что это?
-- Нет.
-- А Вы?
-- Нет.
-- Славно, что здесь эксперты...
=) (j/k)
0
02.10.2015, 19:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2015, 19:52

Нужно создать статический массив строк как статический массив указателей на строки. Условние ниже -->
Слова английского текста рассортировать по возрастанию количества заданной...

создать статический массив строк как статический массив указателей на строки, задание ниже -->
Слова английского текста, начинающиеся с гласных букв, рассортировать в...

Большой двумерный массив как член класса
Размеры массива 2048 на 512. Создал, заполняю в конструкторе, но результата...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru