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

Реализация классов вектор и строка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пользуясь только операцией умножения, получить а5 и а13 за пять операций. http://www.cyberforum.ru/cpp-beginners/thread579024.html
Здравствуйте! Помогите с программированием пожалуйста! Нужно написать программу на языке С++. Дано вещественное число а. Пользуясь только операцией умножения, получить а5 и а13 за пять операций. Заранее спасибо!
C++ Определить класс «Массив целых чисел» Определить класс «Массив целых чисел». Определить операции пересечения двух массивов; сортировки массива (максимальная оценка «хорошо>>) http://www.cyberforum.ru/cpp-beginners/thread579022.html
Не создаётся проект на платформе Visual 2008 C++
Пытаюсь создать пустой проект (Win32). Он у меня создаётся. Дальше добавляю элемент (*.срр). И при компоновки он на меня ругается. Высвечивается окно: "1>------ Построение начато: проект: 111, Конфигурация: Debug Win32 ------ 1>Компоновка... 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup...
C++ Считывание из файла с расширением .txt
Помогите пожалуйста, решить задачу: нужно считать из файла значения и записать их в переменные, созданного мной класса, все эти переменные типа int так выглядит текстовый файл: x1=10 x2=20 y1=10 y2=20 color=10 x1=10
C++ Написать максимально подробные комментарии к данной программе http://www.cyberforum.ru/cpp-beginners/thread579006.html
#include "stdafx.h" const int N=10000; double calculateIntegral(double x); double Function(double x); double equationFunction(double x); double findRoot(double a, double b, double epsilon); using namespace std;
C++ Написать программу сортировки Необходимо написать программу с комментариями(обязательно подробными) для сортировки массива, считывающегося из файла, причём этот массив может быть бесконечно длинным.Сортировка идёт по принципу: если (a-a)>(a-a), тогда сортируем по убыванию, иначе ничего не делаем и переходим к проверке следующих элементов. Элементы целочисленные. подробнее

Показать сообщение отдельно
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
25.08.2012, 22:14     Реализация классов вектор и строка
Пытался написать код, объясняющий r-ref, в итоге - запутался сам
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <memory>
#include <functional>
 
void foo(const int&)
{
    std::cout << "foo(const int&)" << std::endl;
}
 
void foo(int&&)
{
    std::cout << "foo(int&&)" << std::endl;
}
 
void bar(const int& a)
{
    std::cout << "                   ";
    std::cout << "bar(const int&)" << std::endl;
    std::cout << "Without std::move: ";
    foo(a);
    std::cout << "With    std::move: ";
    foo(std::move(a));
}
 
void bar(int& a)
{
    std::cout << "                   ";
    std::cout << "bar(int&)" << std::endl;
    std::cout << "Without std::move: ";
    foo(a);
    std::cout << "With    std::move: ";
    foo(std::move(a));
}
 
void bar(int&& a)
{
    std::cout << "                   ";
    std::cout << "bar(int&&)" << std::endl;
    std::cout << "Without std::move: ";
    foo(a);
    std::cout << "With    std::move: ";
    foo(std::move(a));
}
 
int main()
{
    int a = 42;
    std::cout   << "/----------------------std::ref-----------------------/"
                << std::endl;
    bar(std::ref(a));
 
    std::cout   << "/---------------static_cast<const int&>---------------/"
                << std::endl;
    bar(static_cast<const int&>(a));
 
    std::cout   << "/----------------------std::cref----------------------/"
                << std::endl;
    bar(std::cref(a));
 
    std::cout   << "/----------------------std::move----------------------/"
                << std::endl;
    bar(std::move(a));
    
    return 0;
}
out
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/----------------------std::ref-----------------------/
                   bar(int&)
Without std::move: foo(const int&)
With    std::move: foo(int&&)
/---------------static_cast<const int&>---------------/
                   bar(const int&)
Without std::move: foo(const int&)
With    std::move: foo(const int&)
/----------------------std::cref----------------------/
                   bar(int&&)
Without std::move: foo(const int&)
With    std::move: foo(int&&)
/----------------------std::move----------------------/
                   bar(int&&)
Without std::move: foo(const int&)
With    std::move: foo(int&&)

Удивило то, что const int& не кастуется в int&&. Из всего остального можно сделать вывод - если хотите, чтобы r-reference переменная продолжила свой путь по функциям именно как r-reference, то передавать ее надо исключительно через std::move.
 
Текущее время: 23:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru