Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,905
1

Это двойное "действие" или нет?

20.11.2022, 18:49. Показов 259. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,

Не могу сообразить - это двойное "действие" будет или нет:


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
static std::string string_temp;
 
 
std::string test_func()
{
    std::string my_string = "Hello";
 
    return my_string;
}
 
 
 
void test_func_seocnd(std::string my_string)
{
    std::string my_string_ = my_string;
 
    std::cout << my_string_;
}
 
 
int main()
{
 
    test_func_seocnd(test_func());
 
 
        //Вот это будет двойное "действие"? То есть сначала копирование результата от test_func_seocnd в string_temp, а потом передача этого string_temp в функцию ?
 
    string_temp = test_func();
 
    test_func_seocnd(string_temp);
 
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.11.2022, 18:49
Ответы с готовыми решениями:

Отследить действие пользователя (за компьютером он или нет)
Добрый день господа, помогите решить проблемку. Мне нужно понять находится ли пользователь за...

Выбрать действие из <select> <option> и отдельной кнопкой применить это действие
Здравствуйте. Подскажите пожалуйста как осуществить и возможно ли это? к примеру создать меню с...

Стандартное действие Search. действие Find - нет результатов поиска
Добрый вечер! Столкнулся с такой проблемой, что стандартное действие find, которое должно искать...

Вирус ли это или нет?
Здравствуйте ребята в общем дело такое вечером работал на ноуте как обично отключил его как обично....

Это цикл или нет
Здравствуйте. Вопрос простой. Это цикл?) Заранее спасибо и заранее прошу прощения за подобный...

3
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
20.11.2022, 19:02 2
Цитата Сообщение от Optimus11 Посмотреть сообщение
То есть сначала копирование результата от test_func_seocnd в string_temp, а потом передача этого string_temp в функцию ?
Да.
1
 Аватар для SmallEvil
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
20.11.2022, 19:04 3
DrOffset, а разве компилятор не может взять и убрать лишнюю операцию в качестве оптимизации ?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12812 / 6684 / 1800
Регистрация: 18.10.2014
Сообщений: 16,935
20.11.2022, 20:25 4
Лучший ответ Сообщение было отмечено Optimus11 как решение

Решение

Цитата Сообщение от SmallEvil Посмотреть сообщение
а разве компилятор не может взять и убрать лишнюю операцию в качестве оптимизации ?
Компилятор может убирать все, что угодно, если сумеет доказать, что это не влияет на наблюдаемое поведение программы. С этой точки зрения компилятор может убрать из этой программы вообще все и оставить только

C++
1
std::cout << "HelloHello";
Но вопрос, как я думаю, был не о том, что может сделать компилятор, а о гарантированной семантике. С этой точки зрения здесь - "двойное действие".

Добавлено через 9 минут
Цитата Сообщение от Optimus11 Посмотреть сообщение
//Вот это будет двойное "действие"? То есть сначала копирование результата от test_func_seocnd в string_temp, а потом передача этого string_temp в функцию ?
"Копирования результата в string_temp" здесь, возможно, не будет. Результат test_func возможно будет сразу формироваться в string_temp благодаря NRVO, если NRVO будет выполнено компилятором.

То есть первое действие - это формирование string_temp функцией test_func.
Второе действие здесь - это копирование string_temp в параметр test_func_seocnd, ибо у вас делается передача по значению.

Если же компилятор не сделает NRVO, то можно будет считать, что "действие" тут даже тройное.
1
20.11.2022, 20:25
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2022, 20:25
Помогаю со студенческими работами здесь

Это страница или нет?
Я практически ничего не понимаю в программировании. Прошу разрулить, как для ребенка - если адрес...

это зашифрованный js или нет?
подскажите пожалуйста ( function(){ var...

Аналоги это или нет?
Хотел себя порадовать и купить игровой ноут MSI GT680R.... Прочитал много отзывов, народ его...

Это "ты последний" или нет?
Сайт http://www.materialpro.ru/ встал намертво, ни &quot;тпру&quot; ни &quot;ну&quot;, достиг по совсем неконурентным...

Это вирус или нет?
Добрый день, пришел на форум для помощи в решении проблемы с процессом svchost, их очень много в...

Банят за это или нет
Вот сайт, там каталог: http://citypeople.perm.ru как понять, помойка это или нет.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
Компьютер для начинающих
hw_wired 28.01.2025
Введение в мир компьютерных технологий В современном мире информация стала одним из важнейших ресурсов человечества, определяющим развитие общества и технологий. Наша жизнь неразрывно связана с. . .
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO / / https:/ / leetcode. com/ studyplan/ top-interview-150/ package topInterview . . .
КуМир: решение задач на матрицы
bytestream 28.01.2025
КуМир представляет собой среду для обучения программированию, которая включает в себя мощные инструменты для работы с матрицами. Матрица в программировании - это двумерный массив, состоящий из. . .
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
КуМир: решение геометрических задач
bytestream 28.01.2025
Программирование геометрических задач в среде КуМир становится всё более актуальным в обучении школьников и студентов. КуМир — это разработанная в России обучающая программная среда, предназначенная. . .
КуМир, исполнитель Водолей: Задачи и решения
bytestream 28.01.2025
КуМир — это образовательная среда для обучения программированию. Она предлагает пользователям разнообразные инструменты для разработки и отладки программ, что особенно ценно для студентов и. . .
КуМир, исполнитель Чертежник: Решение задач
bytestream 28.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения основам программирования и алгоритмизации. Исполнитель Чертежник работает на координатной плоскости, где может. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru