Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 19.06.2018, 22:12   #1
Сергей Сидорчук
 
Регистрация: 14.12.2017
Сообщений: 7
Репутация: 10
По умолчанию Стиль

Добрый вечер, уважаемые форумчане!
Лазил я на GitHub, смотрел исходники разных программс открытым кодом, такие как notepad++ и возникло несколько вопросов о стиле кодинга под Windows.
На мой взгляд, все исходники которые я смотрел грешат мешаниной, смесью стиля C в лице Win32 API и стиля C++! Делают например такой код, я и сам так делал :
Код:

class RegKey
{
public:
RegKey(HKEY key, LPCWSTR subKey, REGSAMsamDesire)
private:
HKEY key
}

Использование сишных строк, макросов и прчего, что сейчас рекомендуют избегать в C++. Конечно, кто может сказать, сделай интерфейс класса в стиле C++, замени тип
Код:

LPCWSTR

на
Код:

std::wstring

и используй
Код:

c_str()

если нужно передать строку, например в
Код:

RegOpenKeyEx()

Да так можно, но опять же, на мой взгляд это лишние вызовы, увеличение и усложнение кода.
Короче к чему это я! Как поступаете вы, когда пишете под Windows и вам нужны возможности Win32 API? И если например в коде основные возможности завязаны на Win32 API, может лучше выбрать C и писать в его стиле?
Сергей Сидорчук вне форума   Ответить с цитированием
Старый 19.06.2018, 22:14   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,826
Репутация: 3300

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от Сергей Сидорчук Посмотреть сообщение
смотрел исходники разных программс открытым кодом, такие как notepad++
о, а я когда-то не нашел ничего про исходники на оф. сайте и думал, что он не опен сорс.
Цитата:
Сообщение от Сергей Сидорчук Посмотреть сообщение
все исходники которые я смотрел грешат мешаниной, смесью стиля C в лице Win32 API и стиля C++
велком ту С++

Скоро еще узнаете, что там нет общепринятого стиля кода, менеджера пакетов, и даже строки у всех свои.

Последний раз редактировалось Alex11223; 19.06.2018 в 22:20.
Alex11223 на форуме   Ответить с цитированием
Старый 19.06.2018, 23:20   #3
Сергей Сидорчук
 
Регистрация: 14.12.2017
Сообщений: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
о, а я когда-то не нашел ничего про исходники на оф. сайте и думал, что он не опен сорс.
велком ту С++

Скоро еще узнаете, что там нет общепринятого стиля кода, менеджера пакетов, и даже строки у всех свои.
Да узнал уже, видел самопалы MyString
Сергей Сидорчук вне форума   Ответить с цитированием
Старый 20.06.2018, 00:22   #4
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,534
Репутация: 1728
По умолчанию

Цитата:
Сообщение от Сергей Сидорчук Посмотреть сообщение
Да так можно, но опять же, на мой взгляд это лишние вызовы
Да, а можно использовать CString и никаких лишних вызовов не будет.

Цитата:
Сообщение от Сергей Сидорчук Посмотреть сообщение
когда пишете под Windows и вам нужны возможности Win32 API
Мы используем С++ обертки над Win32API и все работает.

Цитата:
Сообщение от Сергей Сидорчук Посмотреть сообщение
может лучше выбрать C и писать в его стиле
Можно, но не нужно.
Из ручного управления ресурсами ничего хорошего не выходит - рано или поздно начинаются утечки.
waleri вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стиль Delphi XE zdus2757 Общие вопросы Delphi 2 25.01.2016 11:22
Стиль Nonesa C# (си шарп) 5 30.05.2014 11:46
Стиль Poma][a Паскаль 27 22.10.2012 21:42
DrawFocusRect стиль! sergeyrulit Общие вопросы Delphi 1 29.08.2010 22:36


08:34.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru