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

Указание типа переменной и ссылки при объявлении\инициализации - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ механизм наследования http://www.cyberforum.ru/cpp-beginners/thread1775407.html
Есть такой код: #include <iostream> using namespace std; class base { protected: int i, j; // private to base, but accessible to derived public: void set(int a, int b) { i = a; j = b; }
C++ Обратная польская запись Пожалуйста помогите, всю голову себе сломал. Задание: "Обеспечить перевод инфиксного выражения в ОПЗ и вычислить его результат. Входные данные в файле. Использовать алгоритм сортировочной станции (Эдсгер Дейкстра). В выражении могут быть целые положительные числа, знаки операции(*/+-), круглые скобки. При реализации алгоритма разработать класс Стек на основе расширяющегося массива.)" http://www.cyberforum.ru/cpp-beginners/thread1775405.html
Разработка БД "Расписание для школы" C++
Доброго времени суток. Имеется вопрос по созданию базы данных на языке С++. Задача - разработать базу данных "школьное расписание". Имеются следующие исходные данные: 1) наименования предметов. 2) кол-во часов каждого предмета в неделю. 3) кол-во параллелей. 4) кол-во классов в каждой параллели. 5) список кабинетов (а также список предметов, которые привязаны к определённым кабинетам). ...
Список файлов и папок на глубину 2 C++
Как организовать получение списка папок и файлов на глубину 1. В итоге должен быть примерно такой список - Folder1 --File1 --File2 -Folder2 --File3 --File4 Сам поиск внутри одной папки я освоил (вызов API FindFirstFile и FindNextFile) - я могу получить такой список: -Folder1
C++ Загрузка моделей из Blender'а в OpenGL http://www.cyberforum.ru/cpp-beginners/thread1775353.html
Посоветуйте какие есть библиотеки для загрузки моделей из Blender'а в OpenGL .
C++ Сформировать предложение из слов, имеющих после второго символа только символы из заданной подстроки Условие: Дан массив слов и подстрока. Сформировать предложение из слов, имеющих в своем составе после второго символа только символы из заданной подстроки, предварительно удалив из таких слов первые два символа. Я написал часть кода, которая предварительно удаляет два первых символа. #include "stdafx.h" #include <iostream> #include <conio.h> #include <string.h> #include <cstring> подробнее

Показать сообщение отдельно
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
04.07.2016, 11:33     Указание типа переменной и ссылки при объявлении\инициализации
Цитата Сообщение от kakadyi Посмотреть сообщение
Более того, тип объявляемой ссылки должен быть строго таким же, как и тип той переменной, на которую ссылаемся, то есть что-то типа такого не прокатит в принципе
Что-то типа такого не прокатит совершенно по другой причине. Временный объект, который получается при неявном преобразовании int->double можно привязывать только к ссылке на константу или rvalue-ссылке.
C++
1
2
3
4
5
6
int main()
{
   int x = 10;
   double const & y = x; //ok
   double && y1 = x; //ok
}
Кроме того, есть еще явные и неявные преобразования типов ссылок на классы в иерархии, где тип ссылки может отличаться от типа правостороннего выражения.
C++
1
2
3
4
5
6
7
8
class A {}
class B : public A {};
 
int main()
{
    B b;
    A & x = b;
}
Кроме того, есть еще возможность писать пользовательские операторы преобразования, которые тоже используют левосторонний тип для выполнения нужного преобразования.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct B
{
    operator int &()
    {
         return a;
    }
    int a;
};
 
int main()
{
    B b;
 
    int & a = b;
}
В тех же случаях, где тип правостороннего выражения точно определяет тип ссылки, вполне можно пользоваться ключевым словом auto из С++11.
 
Текущее время: 11:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru