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

Интересное поведение нестатической функции класса, возвращающей свою статическую переменную - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ выводит 0 http://www.cyberforum.ru/cpp-beginners/thread206717.html
#include <iostream.h> #include <stdio.h> int main () { int a; cout << "сколько спичек?"; cin >> a; int b; cout << "сколько минут горит 1 спичка";
C++ решение системы уравнений методом Гауса Вот, ради интереса попробовал написать программу (С++). Сейчас она работает, но выполняет лишь первый шаг. Нужно чтобы программа выполняла действия до конца. Идеальным было бы если она еще при этом выводила матрицу на экран каждый раз, но это не обязательно. Вот что навоял: #include<iostream> #include<conio.h> #include<clocale> #include<iomanip> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread206713.html
Решение систем уравнений C++
Решить систему алгебраических уравнений методом Жордана-Гаусса: 3x1+1.5x2-x3+2.4x4=6 -0.5x1+x2-3.1x3-4x4=-12 2x1-0.8x2-x4=1 x1-1.3x2+3.9x3-3.7x4=3.1
Подсчет нулевых элементов в заданном одномерном массиве C++
Напишите фрагменты программ для решения следующих задач: 1) подсчет нулевых элементов в заданном одномерном массиве; 2) вычисление суммы положительных элементов в заданном одномерном массиве; 3) поиск первого максимального элемента и его индекса в заданном одномерном массиве; 4) поиск последнего минимального элемента и его индекса в заданном одномерном массиве;
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread206689.html
помогите пожалуйста, я ничего не шарю в С+, а у меня сейчас контрольная работа. Напишите код программы. Вот задание вводится произвольная квадратная матрица построчно. Вводятся: номер строки и столбца правого верхнего угла внутренней квадратной матрицы и ее порядок. Все элементы внутренней матрицы заменяются на сумму элементов предпоследнего столбца введенной матрицы. Выводится полученная...
C++ Как считать параметр коммандной строки Я понимаю, что его можно считать из заголовка экзешника, но существует ли более простой способ, а то не охото байтики перебирать. p.s. имеется в виду параметр комм. строки при запуске файла. подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
09.12.2010, 16:03  [ТС]     Интересное поведение нестатической функции класса, возвращающей свою статическую переменную
Если это свойство справедливо, то можно им пользоваться для создания вектора, элементы которого знают свой индекс:

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
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <vector>
//////////////////////////////////////////////////////////////////////////////////////
class A
{
    int i_;    
public:
    A() : i_()
    {}
    //------------------------------------------------------------------------------
    A(const A&  a)
    {
        static int  i = 0;
        i_ = i++;
    }
    //------------------------------------------------------------------------------
    operator int()
    {
        return  i_;
    }    
};
//////////////////////////////////////////////////////////////////////////////////////
typedef std::vector<A>  T_A_vect;
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    T_A_vect  v(10);
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, "\n"));
}
Также можно это использовать для создания статических переменных класса, которые при обычном объявлении требуется еще определять где-то вне класса.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru