|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
Передача строки в качестве параметра07.06.2019, 16:31. Показов 8320. Ответов 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
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
||||
| 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
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
||||||||
| 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
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
|||
| 07.06.2019, 22:36 | |||
|
Добавлено через 48 секунд Это нормально работает, начиная с С++14.
0
|
|||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 07.06.2019, 22:39 | |||
|
0
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
||
| 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 в качестве параметра функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|