|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
Передача строки в качестве параметра07.06.2019, 16:31. Показов 8542. Ответов 66
Метки нет (Все метки)
Создаётся временный объект const std::string, конструктор которого принимает (и копирует в себя) const char*, вызывается функция test, затем объект уничтожается. Много лишних действий.Можно ли сделать так, чтобы в EXE-шнике изначально хранился объект std::string, а не создавался перед вызовом функции?p.s. В идеале – C++11, но если вариантов нет, рассмотрю что есть. p.p.s. Интересен также вариант без создания промежуточных констант, если такое возможно, потому что, понятное, дело, можно сделать const std::string text = "Hello my dear friend!\n"; и подставлять её, но это неинтересно. Да и всё равно объект создаётся динамически.
0
|
||||||
| 07.06.2019, 16:31 | |
|
Ответы с готовыми решениями:
66
Передача функции в качестве параметра Передача класса в качестве параметра Передача пути к файлу в качестве параметра через консоль |
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||||||||
| 07.06.2019, 21:12 [ТС] | ||||||||||||
![]()
0
|
||||||||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 07.06.2019, 21:16 | |
|
Надеюсь, ты понимаешь, что это полная фигня? Понизь уровень уровень этих ремарков и всё.
0
|
|
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
||||
| 07.06.2019, 21:17 | ||||
|
0
|
||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||
| 07.06.2019, 21:45 [ТС] | |||
![]() https://godbolt.org/z/XAm-S- (если это имелось в виду) Жаль, что только C++17. Но всё равно весьма неплохо
0
|
|||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 07.06.2019, 21:55 | |||||||
0
|
|||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||
| 07.06.2019, 22:21 [ТС] | ||
|
Строку с пометкой "RUNTIME!!!" нормально проглатывает. Добавлено через 1 минуту Что, в общем-то неудивительно: https://en.cppreference.com/w/... its/length
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 07.06.2019, 22:23 | |
|
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 07.06.2019, 22:24 | |
|
Причём код вообще никак не отличается от char_traits::length
0
|
|
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
||||||||
| 07.06.2019, 22:25 | ||||||||
|
Да и std::char_traits - то как раз везде доступен. Добавлено через 39 секунд
0
|
||||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||
| 07.06.2019, 22:27 | ||||
|
Добавлено через 53 секунды Добавлено через 53 секунды
0
|
||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||
| 07.06.2019, 22:30 [ТС] | ||
|
А вот Clang / MSVC ругаются, но не на неё, а не Test, потому что там printf. Уберите и всё будет ок
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 07.06.2019, 22:35 | ||
|
Убери эту строку const auto sz2 = 0; //CTest<char>::length(psz); //RUNTIME!!!! увидишь, что код стал меньше
0
|
||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
|||
| 07.06.2019, 22:36 | |||
|
Добавлено через 48 секунд Это нормально работает, начиная с С++14.
0
|
|||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 07.06.2019, 22:39 | |||
|
0
|
|||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
||
| 07.06.2019, 22:40 | ||
|
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 07.06.2019, 22:40 [ТС] | ||||||
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 07.06.2019, 22:41 | |
|
DrOffset, Попробуй сделать, чтоб у макроса __FILE__ возвращалось только имя файла, без пути, всегда только в compile-time
0
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 07.06.2019, 22:43 [ТС] | |
|
То, что я прислал в 11 только не проканает, т.к. там constexpr-функция должна состоять из одной инструкции.
0
|
|
| 07.06.2019, 22:43 | |
|
Передача строки в качестве аргумента потоку Передача функции в качестве параметра Передача файла в качестве параметра Передача функции в качестве параметра Передача CString в качестве параметра функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|