Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Extern: Есть ли на данный момент набор инструментов, которые позволили бы использовать другие языки Всем доброго времени суток. Часто встречаю использование оператора (если это, конечно, вообще оператор) extern в виде конструкции extern "C". Погуглив немного я выяснил, что оператор принимает любой строковый литера и задался вопросом - а есть ли на данный момент набор инструментов, которые позволили бы использовать другие языки, например Java, Pascal? Спасибо https://www.cyberforum.ru/ cpp-beginners/ thread1243404.html Пишем рогалик: пояснения по коду и его критика C++
Здравствуйте! Сегодня сел писать рогалик, в процесе возникло несколько вопросов (в виде коментариев в коде): main.cpp #include <iostream> #include <fstream> #include <stdlib.h>
C++ Найти точки пересечения параболы и прямой https://www.cyberforum.ru/ cpp-beginners/ thread1243387.html
Не понимаю почему программа работает некоректно. Код компилируется и работает, но программа выдает неверный результат. Собственно сам код: // 007аТочки пересечения линий.cpp: определяет точку входа для консольного приложения. // y = ax^2 + bx + c и y = dx + k #include "stdafx.h" #include <iostream> #include <cmath> #include <locale>
C++ Есть ли разница между подключениями 2-х и 1-ого заголовка? https://www.cyberforum.ru/ cpp-beginners/ thread1243371.html
Изучаю Потоковые классы в С++ и неожиданно задался вопросом. Есть ли разница между подключениями 2х заголовков <istream> и <ostream> и одного заголовка <iostream>? Влияет ли это на производительность как-то?
Не получается найти букву в строке C++
#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 https://www.cyberforum.ru/ cpp-beginners/ thread1243360.html
C++ Необходима реализация системы синглтонов https://www.cyberforum.ru/ cpp-beginners/ thread1243353.html
Здравствуйте! Необходима реализация системы синглтонов. Требования: Подзагрузка ресурсов класса-синглтона во время первого обращения Система зависимостей (нужен сервис-синглтон A, c зависимостями B, C, тогда B->C->A) Реализация методов, таких как getInstance в базовом классе
Является ли консоль носителем данных, то есть файлом, если потоки выводят информацию именно в ней? C++
Система ввода-вывода С++ основана на работе с потоками. Потоки в свою очередь являются абстрактными объектами с логическим интерфейсом и файлом, где файл - это любой носитель данных. Стандартные потоки (cout, cin, cerr, clog, wcout, wcin, wcerr, wclog) С++ связаны с консолью, т.е. cmd. Является ли консоль носителем данных, то есть файлом, если потоки выводят информацию именно в ней?
C++ Неожиданный результат при сравнении производительности вектора и обычного массива Добрый день. Ради интереса сравнил проиводительность вектора с обычным массивом и получил неожиданный результат. #include <iostream> #include <chrono> #include <vector> int main() { const std::size_t N = 40000000; https://www.cyberforum.ru/ cpp-beginners/ thread1243324.html C++ Вставить новый столбец в матрицу после столбца, в котором нет отрицательных Вставить новый столбец после столбца, в котором нет ни одного отрицательного элемента. Вот, что сделала я. Но у меня программа не работает. как ее изменить? #include <iostream> #include<conio.h> using namespace std; int main() {int n,m,l; cout<<"n="; cin>>n; cout<<"m="; cin>>m; https://www.cyberforum.ru/ cpp-beginners/ thread1243306.html
Остаток от деления, числа в виде массивов C++
Друзья, подскажите пожалуйста идею для алгоритма. Проблема следующая, есть два числа, они оба представлены в виде массива, например, число 256 представлено как а={2,5,6} и например b={7,3,5,6}. Подскажите алгоритм, для того что бы реализовать вот такую операцию 256%7356, при условии, что это числа записаны в виде массивов, так как я писал выше.
C++ DLL компилируется, но не вызывается в приложении C# Здравствуйте, есть DLL, компилируется без ошибок, но вызвать из C# её не получается, вот код: #define _CRT_SECURE_NO_WARNINGS #include <Windows.h> #include <io.h> #include <fcntl.h> #include <stdio.h> #include <fstream> https://www.cyberforum.ru/ cpp-beginners/ thread1243154.html
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
16.08.2014, 23:12 0

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

16.08.2014, 23:12. Показов 3190. Ответов 4
Метки (Все метки)

Лучший ответ Сообщение было отмечено Unifan как решение

Решение

Цитата Сообщение от 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;
}
Когда же ты обращаешься к объекту по его имени (например, передаешь объект в качестве параметра в функцию или указываешь возвращаемое из функции значение), то функция, на самом деле, использует не сам объект (как в случае с ссылкой), а делает для своих нужд копию объекта.

Вернуться к обсуждению:
Зачем нужно возвращать ссылку на объекты потоковых типов? C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2014, 23:12
Готовые ответы и решения:

Зачем нужно возвращать значение?
Зачем возвращать значения в программирование?

Зачем нужно окаймлять аргумент функции return, что будет возвращать данный оператор, если не использовать скобки?
Очередной привет программистам форума, в процессе работы над своим заданием столкнулся с таким...

Зачем в ООП нужно приведение типов?
Доброго дня всем, меня интересует и вопрос, для чего нужно приведение типов, если я могу сразу...

Зачем возвращать конструктор копирование?
Добрый день. Первый вопрос в заголовке темы. Второй - где это можно применить. Спасибо. ...

4
16.08.2014, 23:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2014, 23:12
Помогаю со студенческими работами здесь

Может ли свойство возвращать значения разных типов?
Здравствуйте. Скажите пожалуйста существует ли возможность возвращать значение в зависимости от...

Может ли виртуальная функция возвращать значения разных типов?
Привет, форумчане! :) Столкнулся с небольшой проблемкой и интересуюсь ответом на вопрос! Может ли...

Можно ли создать метод, который бы мог возвращать объекты разных классов
Такой вопрос. Можно ли создать метод, который бы мог возвращать объекты разных классов, по...

Поток FileStrim. Зачем методу Read возвращать количество успешно считанных байтов
Имеем метод int Read(byte array , int offset, int count) С параметрами в скобках все понятно. ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru