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

Класс, каждый экземпляр которого имеет поле UID с гарантированно уникальным значением - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать АТД “Очередь” на основе усовершенствованного циклического массива http://www.cyberforum.ru/cpp-beginners/thread1118744.html
Прошу помочь с написанием решения для данной задачи: Создайте реализацию АТД “очередь” на основе усовершенствованного циклического массива, который автоматически увеличивает размер вдвое при переполнении, подобно вектору. Все остальные характеристики циклического массива должны быть сохранены. Продемонстрируйте работоспособность решения при помощи тестовой программы. Заранее благодарен.
C++ Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт Нужно открыть бинарный файл и закодировать следующим образом. Взять 7 байт. Первый бит каждого байта переместить в 8 байт. То есть, например: 10101010 01010110 00001100 00011000 00011000 00000111 00011100 Нужно превратить в: 0101010 http://www.cyberforum.ru/cpp-beginners/thread1118740.html
C++ Записать программу, выводящую изображенную фигуру
Пользователь вводит некий символ. Записать программу, выводящую изображенную на рис. 2.10 фигуру, где вместо символа «*» должен быть символ, введенный пользователем. ***** ** * ** *****
UrlDecode, Работа с кириллицей C++
Сам пишу на C#. Тут возникла задача "общания с прогой", написанной в С++ 6.0. Проблема возникла с передачей данных с русским текстом (как есть работает, но надо шифровать, поэтому заворачиваю в Base64, который как раз и неработает), при отсылке параметров решил кодировать в urlcode (например...
C++ Координаты вектора умножить на число http://www.cyberforum.ru/cpp-beginners/thread1118704.html
вот есть класс, мне нужно координаты вектора умножить на число,через функцию используя прототип.Как это сделать ? Функцию в С++ еще не проходили, сказали делать по подобию Си #include "stdafx.h" #include "iostream" using namespace std; class Vektor { public:
C++ Калькулятор в столбик Возникла проблема не понимаю почему при умножении 567 * 900 = 50103, (программа недробляна поэтому можно только умножать одинаковые цифры по количеству а точнее показывать цифры для сложение) void Multiplication_Of_Numbers() { int i = 0,j,o=0,tum=0,k0=0,sum; while (number.x>0) { number.mas = number.x % 10;number.x /= 10;//разъединяет числа (nnn на n,n,n) } подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.03.2014, 09:21  [ТС]     Класс, каждый экземпляр которого имеет поле UID с гарантированно уникальным значением
Цитата Сообщение от aLarman Посмотреть сообщение
правда тогда будет проблема с конструктором копирования, он может использоваться во время копирования аргументов ф-ции, а так же при инициализации нового экземпляра уже существующим экземпляром....
1. Как лучше решить эту проблему?
2. Есть ли ещё "подводные камни"?
А если так: при инициализации конструктором копирования копируется всё, включая UID, но после этого первая и только первая модификация любого поля меняет UID? Назначение класса таково, что существование полностью идентичных (даже за вычетом UID) экземпляров лишено смыла. Желательно конечно реализовать заявленное в стартовом посте, но на задачу-минимум пойдёт и вариант "положиться на то, что все остальные копии быстро перестанут быть таковыми".

Добавлено через 47 секунд
Цитата Сообщение от aLarman Посмотреть сообщение
cтатическая переменная... будет плюсоваться в реализации конструктора
Какой разрядности?
Цитата Сообщение от taras atavin Посмотреть сообщение
Требется гарантировать, что ни одно значение UID не совпадёт со значением UID ни какого другого, даже удалённого экземляра.
, так что декларировать её типа size_t и успокоиться тем, что раньше будет исчерпана память, чем переполнится счётчик, нельзя: удалённые экземпляры память не занимают, а в количество в такой постановке идут.
 
Текущее время: 03:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru