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

Список С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ невозможно преобразовать параметр 1 из "int" в "int *&" http://www.cyberforum.ru/cpp-beginners/thread929023.html
#include <iostream> using namespace std; void Func1(int *n) { cout << *n << " = " << *n << endl; } void Func2(int &n) {
C++ DLL ошибка LNK2019 Добрый день! Рассматриваю пример, Создание и использование Dll, на MSDN. Делаю все, что требуется, создал dll, создал проект, указал нужные доп. пути к файлам, но приложение выдает ошибку:... http://www.cyberforum.ru/cpp-beginners/thread929022.html
C++ Экспорт из 3d max, наложение текстуры
Здравствуйте. Проблема с наложением текстуры. С помощью библиотеки lib3ds.lib импортирую 3ds файл в программу (простой куб), накладываю текстуру. Текстура независимо от размера (64х64 или 512х512)...
Сохранить скрин шот заданной области экрана C++
Добрый день, помогите пожалуйста написать программу, которая делает скриншот заданной области экрана и сохраняет в файл. Функционал минимальный, координаты прописаны жестко, программа консольная,...
C++ Как считать текст с файла ? http://www.cyberforum.ru/cpp-beginners/thread928930.html
Как считать текст с файла (например .txt) а потом в другой пустой файл записать текст с первого документа?
C++ cmd make Я понимаю, что вопрос немного не в ту ветку, но он очень тесно связан с c++. Скачивал уже не одну библиотеку, содержащую Makefile. Ни сам разобраться не смог, ни гугл не помог, в попытке собрать на... подробнее

Показать сообщение отдельно
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
27.07.2013, 00:34
Цитата Сообщение от castaway Посмотреть сообщение
Хотя чего мудрить..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
class any {
    void *  m_p;
 
public:
    template <class T> any( T value ) : m_p( (void *)(new T ( value )) ) {}
    template <class T> operator T () {  return *((T *)m_p); }
    ~any() { /* ... */ }
};
 
int main()
{
    any c = 'c';
    any i = 1234567890;
 
    std::cout << (char)c << std::endl;
    std::cout << (int)i << std::endl;
}
освободить можно так
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
struct Variant
{
    void *ptr;
    std::function<void(void*)> deleter;
 
    template <class T>
    Variant(const T &x) : ptr( new T(x) )
    {
        deleter = [](void *ptr)
            {
                delete static_cast<T*>(ptr);
            };
    }
 
    Variant(const Variant &x) = delete;
 
    Variant(Variant &&x):
        ptr(x.ptr), deleter(x.deleter)
    {
        x.ptr = nullptr;
    }
 
    ~Variant()
    {
        deleter(ptr);
    }
};
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.