@ProCxx

Страница 1771 из 2477
Matwey
20.02.2018
08:12:08
Которые решаются враппер классом легко
Не, я не понял. Ты либо предлагаешь мне иметь два враппер класса. Либо предлагаешь мне делать что-то руками.

Vladislav
20.02.2018
08:12:34
нужно по одному враппер-классу на тип ресурса

иначе можно в один прекрасный день забыть прописать deleter

Ilia
20.02.2018
08:13:14
Не, я не понял. Ты либо предлагаешь мне иметь два враппер класса. Либо предлагаешь мне делать что-то руками.
Что ещё надо руками указывать, если в unique_ptr по умолчанию обычный delete твоего класса?

Google
Matwey
20.02.2018
08:14:03
Что ещё надо руками указывать, если в unique_ptr по умолчанию обычный delete твоего класса?
Руками надо соорудить весь мой класс который будет хранить голый myhandler* очевидно. А так же не забыть потереть ему операторы копирования и написать ему десткруктор.

Ilia
20.02.2018
08:14:08
Что ещё надо руками указывать, если в unique_ptr по умолчанию обычный delete твоего класса?
Если ты в твоём классе определишь деструктор и/или operator delete какой нужно, то ОНИ И БУДУТ ВСЕГДА ВЫЗЫВАТЬСЯ ПО УМОЛЧАНИЮ, БЕЗ УКАЗАНИЯ РУКАМИ.

Matwey
20.02.2018
08:15:06
Именно

Я стремлюсь к тому, чтобы компиляторы за меня программировали

Мне это дело уже давно надоело и не приносит удовольствия

Ilia
20.02.2018
08:15:58
Именно
А, ну так бы и сказал сразу, я хочу сидеть на работе, ничего не делать, и получать зарплату. Я тоже очень хочу так, но... блин, жизнь по-другому устроена.

Мне это дело уже давно надоело и не приносит удовольствия
Всё, более не беспокою тебя своими глупыми идеями.

Anatoly
20.02.2018
08:16:45
где my_deleter тривиально реализуется - ничего не хранит, а в функции operator()(T*) зовет шаблонный аргумент указателя на функцию.
ну, тебе не хватает в C++ что-то вроде: template<typename T, typename F> auto make_holder(T* resource, F deletor) { return std::unique_ptr<T, F>(resource, std::move(deletor)); } int main() { auto fh = make_holder(fopen("test.txt", "r"), [](FILE * h){fclose(h);}); return 0; } ?

Anatoly
20.02.2018
08:18:53
плюсану, поскольку работая с WINAPI всегда городишь что-то вроде приведеленного выше

раньше холдеры писали, теперь можно обойтись unique_ptr

Google
Matwey
20.02.2018
08:19:48
плюсану, поскольку работая с WINAPI всегда городишь что-то вроде приведеленного выше
Ну так и я говорю, положите уже мне этот велосипед в STL. А мне говорят, пиши сам каждый раз, ведь это так просто.

Dmitrii
20.02.2018
08:20:39
ребят дайте пожалуйста пример opensource проекта dll/so с cmake и чтоб в этом репозитории также лежали примеры использования тоже с cmake завязанные и тестами.. очень надо )

чтоб по возможности был конвертируем в VS проект )

Anatoly
20.02.2018
08:24:11
а вот пример включения gtest

ну так, как-то не модерново. обслуживание тестов я бы оформил иначе: cmake_minimum_required(VERSION 3.10) project(prj LANGUAGES CXX) find_package(GTest REQUIRED) .... // хоть и говорят, что это плохой стиль, но удобно file(GLOB_RECURSE TESTS test/*.cpp) set(TEST_PROJECT_NAME ${PROJECT_NAME}_test) add_executable(${TEST_PROJECT_NAME} ${TESTS}) target_link_libraries(${TEST_PROJECT_NAME} GTest::Main GTest::GTest ...) enable_testing() add_test(${TEST_PROJECT_NAME}_runner ${TEST_PROJECT_NAME})

Matwey
20.02.2018
08:26:28
https://wandbox.org/permlink/W9k50mRtfbzTODZD
Всего 8 строк на изготовление корректно-ведущей себя обертки. И при этом размер h_ остается равен размеру указателя. Это ли не чудо?

Anatoly
20.02.2018
08:27:02
спасибо ??.. а в VS доводилось конвертировать?
CMake генерит VS solution. о чем речь?

Dmitrii
20.02.2018
08:27:27
CMake генерит VS solution. о чем речь?
да в том то и дело что с ошибками конвертит.. )

Anatoly
20.02.2018
08:27:53
Dmitrii
20.02.2018
08:28:27
черт, как же я до сих пор жил :)
либо я не всё расписываю.. ZERO_CHECK подавил но другие проблемы возникли в директориях inlcude )

Anatoly
20.02.2018
08:37:02
либо я не всё расписываю.. ZERO_CHECK подавил но другие проблемы возникли в директориях inlcude )
пока могу посочувстовать, если приведешь проект на гитхабе могу и помочь чем.

Dmitrii
20.02.2018
08:37:43
Anatoly
20.02.2018
08:39:01
в любом случае, если хочешь решить проблему приводи минимальный воспроизводимый пример. сотрясать воздух "у меня не работает" можно, но это контпродуктивно.

Dmitrii
20.02.2018
08:50:08
ТАк CMake же, запусти генератор, он тебе сгенерит
я и говорю что неправильно генерит видимо я что-то не дописал.. если не разберусь выложу на обозрение..)

Google
Dmitrii
20.02.2018
08:50:37
я поэтому пример и спрашивал

Артем
20.02.2018
08:54:06
Здравствуйте, как поменять в VS с консольного приложение на тип графическое?

Alexander
20.02.2018
08:55:24
Здравствуйте, как поменять в VS с консольного приложение на тип графическое?
1) Выбери в настройках MFC проект какой-нибудь 2) @supapro

Yaroslav
20.02.2018
08:57:05
Здравствуйте, как поменять в VS с консольного приложение на тип графическое?
Брось этк идую нахер и учи qt или что-то другое (если ты о c++)

Артем
20.02.2018
08:57:51
так и сделал, взял консольный проект, и добавил форму, теперь с формой открывается консоль

все потому что, консольный проект)

Anatoly
20.02.2018
08:58:23
так речь о Qt?

а причем здесь VS?

Yaroslav
20.02.2018
08:58:34
Хах, это слишком геморно.)

Артем
20.02.2018
08:58:59
добавить форму на консоль?)

Yaroslav
20.02.2018
08:59:07
а причем здесь VS?
Не, он говорил про вс,а я говорю чтоьы ьросл мдеб

Yaroslav
20.02.2018
08:59:22
добавить форму на консоль?)
Работать с ней потом

Артем
20.02.2018
08:59:30
Visual Studio

а причем здесь VS?
Visual Studio + Qt VS Tools

Anatoly
20.02.2018
09:03:29
Visual Studio + Qt VS Tools
Создай не консольный проект и сравни его со своим проектом. Результаты компаринга датут тебе ответ на вопрос.

Артем
20.02.2018
09:04:02
спасибо, сейчас попробую

Yaroslav
20.02.2018
09:04:19
Visual Studio + Qt VS Tools
Это пздц, в новой версии чистый проект даже не компилился.(

К + в qt creator удобнее работать

Артем
20.02.2018
09:04:38
vs17 ?

Google
Yaroslav
20.02.2018
09:04:58
Да, я про нее

Артем
20.02.2018
09:05:01
К + в qt creator удобнее работать
там отладчик убогий

Yaroslav
20.02.2018
09:05:01
Про 15 хз

Там ошибка msvc

Admin
ERROR: S client not available

Yaroslav
20.02.2018
09:05:18
Артем
20.02.2018
09:28:14
Я заменил. Да. Работает спасибо огромное

Alex
20.02.2018
10:04:15
Привет, подскажите как в C++ переключить кодировку чтобы в консоле был виден русский язык

Alex
20.02.2018
10:04:54
Python
Троль?

Alexander
20.02.2018
10:05:09
Александр
20.02.2018
10:05:20
set locale

Alexander
20.02.2018
10:05:21
setlocale

Александр
20.02.2018
10:05:25
что-то похожее

Alexander
20.02.2018
10:05:32
+ надо смотреть, что за кодировка у твоей консоли

мб нормальная, мб всякие CP866

Влад
20.02.2018
10:05:54
setlocale(LC_ALL, "Russian");

Но это гуглится за пару секунд.

Alex Фэils?︙
20.02.2018
10:06:08
на винде можно попробовать setlocale(LC_CTYPE, "rus")

Alex
20.02.2018
10:06:51
Но это гуглится за пару секунд.
Вот имеено, это не работает

Google
Alex
20.02.2018
10:07:48
Вот вас тут 2,2к человек

Идёт 2018 год и вы незнаете как?

Alex
20.02.2018
10:08:21
ты на винде?
Да я на винде

/warn

Alexander
20.02.2018
10:08:31
Да я на винде
Lucida console пробовал?

Alex
20.02.2018
10:08:43
Alexander
20.02.2018
10:08:47
Max
20.02.2018
10:09:12
/warn

Alex
20.02.2018
10:09:21
да
Хочешь подсказку, переключить можно через вызов system();

Alexander
20.02.2018
10:09:44
Max
20.02.2018
10:10:25
Винда, русская расскладка, system(), брррр

Alex Фэils?︙
20.02.2018
10:13:19
/cppref setlocale

Страница 1771 из 2477