Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Может ли объект-член, или объект-элемент достучаться к содержащему его? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс, каждый экземпляр которого имеет поле UID с гарантированно уникальным значением http://www.cyberforum.ru/cpp-beginners/thread1118817.html
Как бы это поле реализовать? При передаче экземпляра значению любой функции, или оператору и при записи в экземпляр возвращаемого значения функции, или оператора, в том числе, в составе другого...
C++ Реализовать АТД “Очередь” на основе усовершенствованного циклического массива Прошу помочь с написанием решения для данной задачи: Создайте реализацию АТД “очередь” на основе усовершенствованного циклического массива, который автоматически увеличивает размер вдвое при... http://www.cyberforum.ru/cpp-beginners/thread1118744.html
C++ Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт
Нужно открыть бинарный файл и закодировать следующим образом. Взять 7 байт. Первый бит каждого байта переместить в 8 байт. То есть, например: 10101010 01010110 00001100 00011000 00011000...
C++ Записать программу, выводящую изображенную фигуру
Пользователь вводит некий символ. Записать программу, выводящую изображенную на рис. 2.10 фигуру, где вместо символа «*» должен быть символ, введенный пользователем. ***** ** * ** *****
C++ UrlDecode, Работа с кириллицей http://www.cyberforum.ru/cpp-beginners/thread1118709.html
Сам пишу на C#. Тут возникла задача "общания с прогой", написанной в С++ 6.0. Проблема возникла с передачей данных с русским текстом (как есть работает, но надо шифровать, поэтому заворачиваю в...
C++ Координаты вектора умножить на число вот есть класс, мне нужно координаты вектора умножить на число,через функцию используя прототип.Как это сделать ? Функцию в С++ еще не проходили, сказали делать по подобию Си #include "stdafx.h"... подробнее

Показать сообщение отдельно
rrrFer
Заблокирован
15.03.2014, 14:55
Цитата Сообщение от DrOffset Посмотреть сообщение
Имеет оно решение.
Значит ты не понял ТС. Или я не понял его. Или он сам не понял чего хочет.

ТС пишет про это:
Код
class A {
};
class B { 
  int i;
  A m_a;
}
И вот это вот поле, m_a должно как-то изловчиться, найти объект в который оно вложено и заиметь доступ к его полям (например полю i). Т.е. насколько я понял, ТС ищет универсальную штуку, чтобы это работало вне зависимости от того, в какой класс вложено m_a; Ну грубо говоря.
Потому что:
Цитата Сообщение от taras atavin Посмотреть сообщение
Здесь нужны встроенные языковые средства,
Таких в плюсах нет.

Но а кроме этого, ТС хочет чтобы с realloc все это работало. Т.е. у тебя где-то лежит указатель, и этот указатель ничего не знает о том что тарас вызвал realloc. А он вызвал. Указатель стал инвалидным, все пропало.

Решения нет и оно не нужно. Нужно всякой ерундой не заниматься.

Добавлено через 4 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
Имею. А перемещение может быть неизбежно, например, если надо увеличить размер массива и новый размер не влазит от старого стартового адреса и до занятой (возможно такие же эрреем) памяти.
Да ты че? - если надо увеличить размер массива можно:
- использовать динамические списки;
- использовать обертку над массивом, у которой адрес не меняется. Если какой-то realloc и выполняется - то он выполняется где-то там (в обертке), а все указатели на нее остаются валидными.

Цитата Сообщение от taras atavin Посмотреть сообщение
А вот разрушение старых элементов, создание новых и перенос туда данных добавит проблем с UIDом, так что не имею я права как раз юзать деструкторы с конструкторами для объектов, существование которых продолжается.
Я вот непойму зачем все разрушать? - про указатели не читали?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru