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

Как отсортирвоать контейнер, если его тип определяется по ходу выполнения программы? (динамическая идентификация типов) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подредактируйте программу (структуры). http://www.cyberforum.ru/cpp-beginners/thread412397.html
Добрый день, уважаемые форумчане. На верное я как и многие здесь уже достали вас своими вопросами, понимаю, но все так =) если ко не сложно помогите. Итак. Мне нужно создать бинарный файл и как, я понял внести в него сведения о выпущенной продукции включают: наименование, количество, номер цеха и выполнить его обработку: для заданного цеха вывести информа-цию о выпущенной продукции в порядке...
C++ функция с именем make_mun Помогите реализовать внешнюю функцию с именем make_mun(),где mun- тип реалезуемой структуры. Вот текст задания: Поле first – целое число, левая граница диапазона, включается в диапазон; поле second – целое число, правая грани-ца диапазона, не включается в диапазон. Пара чисел представляет полуоткрытый интервал #include <iostream> #include <windows.h> using namespace std; char*... http://www.cyberforum.ru/cpp-beginners/thread412378.html
C++ Операторы условия.
Помогите добавить к этой проге. Чтобы однозначные цифры шли в первой строке, двузначные во второй, трёхзначные в третьей. #include <iostream.h> #include <math.h> #include <stdio.h> #include <conio.h> void main() { int a, i; cout << "Vvedite proizvol'noe chislo ";
Полиморфизм и шаблонный контейнер. C++
Как вы знаете, template определяет класс или несколько классов, к которым приводятся ф-и или др. класы использующие template. Обычно template используют для создания стеков или массивов объектов. Вопрос вот в чем. Есть у меня объект. и у него несколько наследников. как я могу, указав базовый класс, содержать в стеке с помощью template эти объекты наследники? Дело в том, что обычно наследники...
C++ Cчитать текст и вывести на экран только предложения, содержащие введенное с клавиатуры слово. http://www.cyberforum.ru/cpp-beginners/thread412358.html
Написать программу, которая считывает текст и выводит на экран только предложения, содержащие введенное с клавиатуры слово. #include <iostream> #include <conio.h> #include <string.h> #include <stdio.h> #include <windows.h> using namespace std; int main() { SetConsoleCP(1251);
C++ Создать новый файл, удалив заданную последовательность символов из существующего. 16. Открыть файл, имя которого задается с клавиатуры. Создать новый файл, удалив заданную последовательность символов из файла. Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят. подробнее

Показать сообщение отдельно
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,441

Как отсортирвоать контейнер, если его тип определяется по ходу выполнения программы? (динамическая идентификация типов) - C++

20.12.2011, 12:07. Просмотров 432. Ответов 4
Метки (Все метки)

собсно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <windows.h>
#include <stdio.h>
#include <vector>
#include <list>
#include <algorithm>
#include <cxxabi.h>
using namespace std;
 
 
//Это шаблонная функция
template <class T>
void f () {
 T rez;
 
 //Положим что-нибудь в контейнер
 rez.push_back (1);
 rez.push_back (2);
 
 //Здесь я определяю узнаю имя контейнера, который у меня используется
 char* realname= abi::__cxa_demangle(typeid(rez).name(), 0, 0, NULL);
 *strpbrk(realname,"<")= 0; realname+= 5;
 
 //Вот тут это имя можно даже посмотреть
 printf ("realname==%s \n", realname);
 
 //А тут мы сортируем контейнер разными способами в зависимости от того
 // какой у контейнера тип
 if (!(strcmp (realname, "list")))  
  rez.sort();
 
 
 //Если у контейнера будет тип "list" то компилится, если только этот
 //блок заблокирован, непонятно почему, ведь он будет выполняться 
 //только в том, случае, если тип контейнера как раз не list!
 
 //else 
  //sort(rez.begin(), rez.end());
 
}
 
int main () {
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 
 f< list<int> > ();
 
 getchar ();
 return 0;
}
Сложность сопряжена с тем, напомню, что списки сортируются с помощью функции-метода sort, в отличие от векторов или двусторонних очередей.
Спасибо, кто откликнется
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru