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

Помогите оптимизировать код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ упорядочить по возрастанию столбец матрицы , сумма элементов которого минимальна http://www.cyberforum.ru/cpp-beginners/thread566599.html
упорядочить по возрастанию столбец матрицы , сумма элементов которого минимальна
C++ Интересуют возможности с++. Здравствуйте, очень хотел бы узнать, можно ли написать такую программу используя с++, чтобы 1. Она запускалась, при включении компьютера (чисто формально, даже не как задача, но как требование). 2. Запускала некоторые другие программы (в зависимости от дня недели или других условий) и запускала некоторые действия других программ (проще говоря нажимала на кнопки в окнах других программ). 3.... http://www.cyberforum.ru/cpp-beginners/thread566581.html
C++ Подскажите пожалуйста не сложный шаблоны прэктирования
В общем дело вот в чем мне нужно написать проект на c# с этим я думаю проблем не будет. А проблема у меня в том что нужно в проекте использовать 3 design patterns любых . Не могли бы вы подсказать мне какие нибудь патерны не сложные чтоб просто их было описать в проекте(я в этих патернах не бум бум) . В проекте есть один абстрактный класс от которого наследуют два класса,есть база даных (очень...
Класс звуковых сигналов (нот) и класс мелодий из них C++
Помогите сделать) Класс звуковых сигналов (нот) и класс мелодий из них, предусмотреть операции слияния мелодий и включения новых звуков в них (необязательно проигрывать мелодии и звуки, достаточно давать их буквенное обозначение) нужно сделать с виртуальными и контейнерными классами Добавлено через 27 минут обязательным является перегрузка операции ввода (>>) из стандартного потока CIN...
C++ Цикл: Подсчитать количество цифр A в числе N. http://www.cyberforum.ru/cpp-beginners/thread566547.html
Количество заданных цифр в числе Подсчитать количество цифр a в числе N. я НАПИСАЛ код и не работает!!! WTF??? #include <stdio.h> int s=0; int main() { long long n,a; scanf("%d%d",&n,&a);
C++ Как узнать какой по номеру элемент найден алгоритмом find Как можно узнать какой по номеру элемент найден через функцию find, например: list<string>::iterator iter; cin >>number; iter=find(lst.begin(), lst.end(), number); подробнее

Показать сообщение отдельно
Helldrg
-15 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,100

Помогите оптимизировать код - C++

05.05.2012, 23:01. Просмотров 442. Ответов 10
Метки (Все метки)

Здравствуйте! Помогите, пожалуйста, оптимизировать его:
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "main.h"
///============================================================================================================
/// Name: WinMain
/// Desc:
///============================================================================================================
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow)
{
    General general(500, 500);
    general.MyRegisterClass(hInst);
    general.InitInstance(hInst, nCmdShow);
              
    MSG messages = general.messages;
    while ( messages.message != WM_QUIT )
    {
        if( PeekMessage( &messages, NULL, 0, 0, PM_REMOVE ) )
        {
            TranslateMessage(&messages);
            DispatchMessage(&messages);
        }
    }
    return messages.wParam;
}
main.h
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <windows.h>
 
class General 
{
      public:
             General(int,int);
             static LRESULT CALLBACK WindowProcedure ( HWND, UINT, WPARAM, LPARAM );
             ATOM MyRegisterClass(HINSTANCE);
             BOOL InitInstance(HINSTANCE, int);
             MSG messages;
      private:
             int _iWidth;
             int _iHeight;
             HWND _hWnd;
              
             WNDCLASSEX _wcex;
              
};
///============================================================================================================
/// Name: General
/// Desc:
///============================================================================================================
General::General(int iWidth, int iHeight)
{
    General::_iWidth = iWidth;
    General::_iHeight = iHeight;
};
 
///============================================================================================================
/// Name: MyRegisterClass
/// Desc:
///============================================================================================================
ATOM General::MyRegisterClass(HINSTANCE hInst)
{
    WNDCLASSEX wcex = General::_wcex;
    wcex.hInstance          = hInst;
    wcex.lpszClassName      = "Class1";
    wcex.lpfnWndProc        = WindowProcedure;
    wcex.style              = CS_DBLCLKS;
    wcex.cbSize             = sizeof (WNDCLASSEX);
    wcex.hIcon              = LoadIcon (NULL, IDI_APPLICATION);
    wcex.hIconSm            = LoadIcon (NULL, IDI_APPLICATION);
    wcex.hCursor            = LoadCursor (NULL, IDC_ARROW);
    wcex.lpszMenuName       = NULL;
    wcex.cbClsExtra         = 0;
    wcex.cbWndExtra         = 0;
    wcex.hbrBackground      = (HBRUSH)GetStockObject(BLACK_BRUSH);
 
    return RegisterClassEx(&wcex);
}
///============================================================================================================
/// Name: InitInstance
/// Desc:
///============================================================================================================
BOOL General::InitInstance(HINSTANCE hInst, int nCmdShow)
{
    HWND hWnd = General::_hWnd;
    hWnd = CreateWindowEx ( 0, "Class1", "Application", WS_POPUP, 0, 0, General::_iWidth, General::_iHeight, HWND_DESKTOP, 0, hInst, 0 );
    ShowCursor(FALSE);
    ShowWindow (hWnd, nCmdShow);
    SetFocus(hWnd);
    UpdateWindow (hWnd);
    SetForegroundWindow(hWnd);
    return TRUE;
}
///============================================================================================================
/// Name: WindowProcedure
/// Desc:
///============================================================================================================
LRESULT CALLBACK General::WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
           case WM_CLOSE:
           {
                              
           }
           break;
        case WM_KEYDOWN:
            switch( wParam )
            {
                case VK_ESCAPE:
                    PostQuitMessage(0);
                    break;
            }
            break;
 
        default:
            return DefWindowProc (hWnd, message, wParam, lParam);
            break;
    }
    return 0;
}
Меня, например, очень смущает типа такие записи HWND hWnd = General::_hWnd;
По идее их через указатель надо делать, но я пробывал у меня не получилось.
Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru