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

Зачем нужно возвращать ссылку на объекты потоковых типов? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Extern: Есть ли на данный момент набор инструментов, которые позволили бы использовать другие языки http://www.cyberforum.ru/cpp-beginners/thread1243404.html
Всем доброго времени суток. Часто встречаю использование оператора (если это, конечно, вообще оператор) extern в виде конструкции extern "C". Погуглив немного я выяснил, что оператор принимает любой строковый литера и задался вопросом - а есть ли на данный момент набор инструментов, которые позволили бы использовать другие языки, например Java, Pascal? Спасибо
C++ Пишем рогалик: пояснения по коду и его критика Здравствуйте! Сегодня сел писать рогалик, в процесе возникло несколько вопросов (в виде коментариев в коде): main.cpp #include <iostream> #include <fstream> #include <stdlib.h> http://www.cyberforum.ru/cpp-beginners/thread1243393.html
Найти точки пересечения параболы и прямой C++
Не понимаю почему программа работает некоректно. Код компилируется и работает, но программа выдает неверный результат. Собственно сам код: // 007аТочки пересечения линий.cpp: определяет точку входа для консольного приложения. // y = ax^2 + bx + c и y = dx + k #include "stdafx.h" #include <iostream> #include <cmath> #include <locale>
Есть ли разница между подключениями 2-х и 1-ого заголовка? C++
Изучаю Потоковые классы в С++ и неожиданно задался вопросом. Есть ли разница между подключениями 2х заголовков <istream> и <ostream> и одного заголовка <iostream>? Влияет ли это на производительность как-то?
C++ Не получается найти букву в строке http://www.cyberforum.ru/cpp-beginners/thread1243363.html
#include <iostream> using namespace std; int main() { char str={"абвгдеёжзийклмнопрстуфхцчшщъыьэюя"}; //33 буквы + знак окончания char bykva; cout << "Vvedi 1 bykvy " << endl; cin >> bykva; for (int i = 0; i < 33; i++) //ищем введенную букву в массиве
C++ Необходим общий private static-член для всех классов, сгенерированных по шаблону Здравствуйте! Мне необходим общий private static-член для всех классов, сгенерированных по шаблону, и при этом, не хочется засорять пространство имен. Допустимо ли следующее: namespace Program { namespace __implementation { class __Class подробнее

Показать сообщение отдельно
gru74ik
Модератор
 Аватар для gru74ik
3122 / 1348 / 167
Регистрация: 20.02.2013
Сообщений: 3,866
Записей в блоге: 18
16.08.2014, 23:12     Зачем нужно возвращать ссылку на объекты потоковых типов?
Цитата Сообщение от Unifan Посмотреть сообщение
почему возвращается именно ссылка на объект
А что такое "ссылка на объект"? Остановись на секунду и задумайся. Ведь ты уже, наверное, читал, что ссылка (reference) - это, фактически, просто псевдоним переменной. То есть ссылка - это и есть та самая переменная, только имя у неё другое. У ссылки будет тот же адрес и то же значение, что и у твоей переменной. Это как если бы тебя звали, скажем, Станислав (имя переменной), а дома тебя звали Стас (ссылка), а друзья звали бы тебя по прозвищу "Лохматый" (за привычку вечно брить голову "под ноль"). Тут "Лохматый" - ещё одна ссылка на переменную "Станислав" типа человек. Вот тебе твой "генетический" С++-код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
class Human
{
private:
    // some data
    
public:
    // some methods
};
 
int main ()
{
    Human stanislav;            // переменная Станислав типа человек
    Human & stas = stanislav;   // ссылка на переменную Станислав типа человек
    Human & shaggy = stanislav; // ещё одна ссылка на переменную Станислав типа человек
 
    return 0;
}
Когда же ты обращаешься к объекту по его имени (например, передаешь объект в качестве параметра в функцию или указываешь возвращаемое из функции значение), то функция, на самом деле, использует не сам объект (как в случае с ссылкой), а делает для своих нужд копию объекта.
 
Текущее время: 22:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru