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

Умный указатель ComPtr - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перенаправление указателя при перегрузке оператора в variadic template http://www.cyberforum.ru/cpp/thread1424134.html
Есть вот такой вот код (сделан в vs2014): #include "stdafx.h" #include <iostream> #include <conio.h> #include <math.h> #include <string.h> #include <stdlib.h> #include "windows.h" #include "windowsx.h"
C++ Голосовое управление. Активация записи Здравствуйте! Хочу добавить в свой проект умного дома голосовое управление. Нужно несколько команд - включить свет/выключить свет/открыть жалюзи и т.д. С распознаванием команды проблем быть не должно, распознавать можно через гугл или яндекс. Вопрос в том, как активировать распознавание? У меня пока что только такая мысль: при появлении звука в микрофоне записывать его, а после окончания... http://www.cyberforum.ru/cpp/thread1424001.html
RAW сокет C++
нужен рабочий пример создания сырого сокета З.ы под windows Добавлено через 20 минут нашел такой код, под хрюшей работает збс, но в 7 неработает, как можно это исправить? и можно ли это исправить вообще? #include <Winsock2.h>//Ws2_32.lib #include <ws2tcpip.h> //#include <Windows.h> #include <iostream.h>
Молодой поэт и программирование C++
Всем доброго времени суток!!!! Я на форуме первый день надеюсь, что мне помогут или дадут хороший совет. Мне надо написать программу или что-то вроде нее, которая решает мою проблему. Я почти всю свою жизнь пишу стихи. Но стихи эти непростые. Они написаны строчными буквами и без знаков препинания(нет ни точек, ни тире,ни запятых). Когда я печатаю текст то пишу сначала как надо для читателя, а...
C++ ГОСТ для C++ http://www.cyberforum.ru/cpp/thread1421795.html
Ребят как правильно оформлять код программы, по какому госту?!
C++ Настройка Oracle Solaris Studio под Windows скачал Oracle Solaris Studio но похоже она только для Solaris, OpenSolaris, Linux - есть ли возможность её Microsoft Windows ? подробнее

Показать сообщение отдельно
_lunar_
Graphics API Developer
1198 / 1124 / 76
Регистрация: 03.05.2011
Сообщений: 2,741
19.04.2015, 11:03     Умный указатель ComPtr
Равноценна ли запись с простым указателем
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
#include <d3d11_1.h>
 
ID3D11Device *device_11_0 = nullptr;
ID3D11Device1 *device_11_1 = nullptr;
 
ID3D11DeviceContext *context_11_0 = nullptr;
ID3D11DeviceContext1 *context_11_1 = nullptr;
 
void InitD3D11_1()
{
    HRESULT hr_11_1 = D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, 0,
        nullptr, 0, D3D11_SDK_VERSION, &device_11_0, nullptr, &context_11_0);
 
    HRESULT hr = device_11_0->QueryInterface(__uuidof(ID3D11Device1),
        reinterpret_cast<void**>(&device_11_1));
    if(hr == S_OK) (void)context_11_0->QueryInterface(__uuidof(ID3D11DeviceContext1),
        reinterpret_cast<void**>(&context_11_1));
}
 
void Release()
{
    device_11_0->Release();
    device_11_1->Release();
    context_11_0->Release();
    context_11_1->Release();
}
записи с умным указателем
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
#include <d3d11_1.h>
#include <wrl\client.h>
 
using namespace Microsoft::WRL;
 
ComPtr<ID3D11Device> device_11_0 = nullptr;
ComPtr<ID3D11Device1> device_11_1 = nullptr;
 
ComPtr<ID3D11DeviceContext> context_11_0 = nullptr;
ComPtr<ID3D11DeviceContext1> context_11_1 = nullptr;
 
void InitD3D11_1()
{
    HRESULT hr_11_1 = D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, 0,
        nullptr, 0, D3D11_SDK_VERSION, &device_11_0, nullptr, &context_11_0);
 
    device_11_0.As(&device_11_1);
    context_11_0.As(&context_11_1);
}
 
void Release();
{
    device_11_0.ReleaseAndGetAddressOf();
    device_11_1.ReleaseAndGetAddressOf();
    context_11_0.ReleaseAndGetAddressOf();
    context_11_1.ReleaseAndGetAddressOf();
}
Если равноценна то, что лучше использовать?

Не по теме:

Цель - инициализировать DirectX 11.1
Функции D3D11CreateDevice1 не существует, поэтому для инициализации везде рекомендуют именно так.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru