Форум программистов, компьютерный форум CyberForum.ru

Очистка памяти при завершении работы функции, как правильно возвращать значения? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строки в С++ http://www.cyberforum.ru/cpp-beginners/thread1755229.html
Помогите пожалуйста решить эту задачу: дан текст. Найти все слова, содержащие букву а. Если можно написать простую программу , что-то похожее на эту, которую я написал для подсчета слов. #include "stdafx.h" #include <iostream> #include <cstring> using namespace std; void main() { char s; cout<<"Tekst: "; gets(s);
C++ Построение Эллипса Построить Эллипс в среде программирования C++ с эксцентриситетом 3.14 и что бы фокус эллипса совпадал с началом координат. http://www.cyberforum.ru/cpp-beginners/thread1755224.html
Отличия QString от String C++
что такое QString и чем отличается от String?
Обьясните рекурсию на пальцах C++
Привет всем! Классическая задача на рекурсию с факториалом. #include <conio.h> long int factorial(long int n) { if (n == 0 || n == 1) return 1; return n * factorial(n - 1); } Допустим n равно 7.Понятно что функция будет рекурсивно себя вызывать уменьшая за каждый вызов n на 1.Доходим до вызова с числом n равным 1. Выполняется условие на равенство 1 и функция возвращает 1 в...
C++ Непонятка с постфиксами в VS 2013 http://www.cyberforum.ru/cpp-beginners/thread1755195.html
#include <iostream> using namespace std; int main() { int a = 10; a = a++ + a++; cout << a << endl; system("pause"); return 0;
C++ Что означают константы 0x01, 0x02, 0x03, 0x04 и т.д. unsigned char key = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }; что значат 0x01, 0x02, 0x03, 0x04.... подробнее

Показать сообщение отдельно
Stitch Igorek
 Аватар для Stitch Igorek
44 / 44 / 17
Регистрация: 02.04.2016
Сообщений: 303
Завершенные тесты: 1
05.06.2016, 20:25     Очистка памяти при завершении работы функции, как правильно возвращать значения?
Цитата Сообщение от warhast Посмотреть сообщение
Add и Add2 в итоге станут одним и тем же кодом - см. (N)RVO, там что можно писать как удобнее - скорость уж точно не изменится.
Кликните здесь для просмотра всего текста
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
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <string>
#include <time.h>
 
std::string Sum1(std::string a, std::string b)
{
    std::string result = a + b;
    return result;
}
 
void Sum2(std::string a, std::string b, std::string &result)
{
    result = a + b;
}
 
int main()
{
    std::string a("Odnazhdy v studenuju zimnjuju poru "), b("Ja iz lesu vyshel i snova zashel");
    const int N = 100000;
    std::string result;
 
    clock_t start = clock();
    
    for (int i(0); i < N; i++)
    {
        result = Sum1(a, b);
    }
 
    clock_t end = clock();
 
    std::cout << double(end - start) / CLOCKS_PER_SEC << std::endl;
 
    start = clock();
 
    for (int i(0); i < N; i++)
    {
        Sum2(a, b, result);
    }
 
    end = clock();
 
    std::cout << double(end - start) / CLOCKS_PER_SEC << std::endl;
 
    system("pause");
}

Мой компилятор с твоими суждениями не согласен.
 
Текущее время: 05:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru