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

Константные функции-члены класса, возвращающие ссылку на константу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ интерфейс http://www.cyberforum.ru/cpp-beginners/thread340263.html
qt, winAPI, wxWidgets, winForms, MFC... что там еще можно использовать для создания графического интерфейса? Хотелось бы вкратце услышать описание каждого из "методов", преимущества/недостатки. Чем руководствоваться при выборе метода для написания программы с GUI? Какие перспективы на будущее?
C++ Как записать правильно? Программа работает но код наверно не верен. #include <iostream> using namespace std; int main() { long sek; cout << "Enter the number of senonds: "; cin >> sek; http://www.cyberforum.ru/cpp-beginners/thread340237.html
C++ строки
народ че не так ? char *s1,*s2,*s3; int i = 0; while(s1 != " ") { in >> s1;// здесь выскакивает прерывание i++; }
C++ Неправильно считывается структура из файла
Записываю структуру А в файл, затем считываю в структуру В. Символы считываются нормально, а вот цвет фона+символа неправильно. #include <iostream> #include <fstream> #include <new> #include <cstdlib> using namespace std; struct CELL_INFO {
C++ Запись в Excel, чтение из файла и проблемы с русским языком http://www.cyberforum.ru/cpp-beginners/thread340207.html
Сразу несколько вопросов… Запись в Excel-евский документ: много читала в интернете и на вашем сайте конкретно, но, поскольку всё было как-то отрывками, а иной раз и вовсе не по теме, хочу конкретно спросить, как САМЫМ лёгким способом записать информацию в Excel-евские ячейки (чтобы программа не только по строчкам, но и по столбцам раскидывала)… Чтение из файла и проблемы с русским языком:...
C++ Программа для записи звуков. Приветствую всех. Хотелось бы узнать как можно реализовать запись звука с микрофона к примеру в формат wav. Подскажите где можно про это почитать или напишите пример. подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
10.08.2011, 00:30     Константные функции-члены класса, возвращающие ссылку на константу
На самом деле всё хитрее...
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
#include <iostream>
#include <string>
 
class person {
public:
        //конструктор, принимающий две строки типа string
        person( const std::string &_name, const std::string &_address ) :
                name( _name ), address( _address ) {
        }
        //метод, возвращающий addres
        const std::string &get_address() const {
                return address;
        }
        //метод, возвращающий name
        const std::string &get_name() const {
                return name;
        }
        void set_name(const std::string & _name) { 
            name = _name; 
        }
        void set_address(const std::string & _address) { 
            address = _address; 
        }
 
private:
        //поле для хранения имени
        std::string name;
        //поле для хранения адреса
        std::string address;
};
 
int main(){
    person p("Vasya", "Hell");
    
    const char * n = p.get_name().c_str();
    std::cout << n << std::endl;
    p.set_name("Petya");
    std::cout << n << std::endl;
    
    return 0;
}
Два раза выведет Васю. Думаю, функции get_name, get_address (кстати, это слово с двумя s пишется) на самом деле создают константные копии строк, ссылки на которые и возвращают. Сэкономить в любом случае не получится, морока одна. Возвращайте строки.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru