class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

STL

основы

введение
Инструментарий
Проекты в C++
Комментарий
Утверждения
Идентификаторы
Область видимости
Литералы
Типы данных, переменные
Константы, перечисления
Выражения и операции
Агрегатные типы
Указатели
Ссылки
Массивы
Строки
Управляющие операторы
Функции
Аргументы функции

ООП

Терминология
Определение классов
Константные методы
Статические члены
Наследование
Инкапсуляция
Полиморфизм
Инициализация и уничтожение объектов
this

прочее

шаблоны
макросы
динамическая память
исключения
rtti

Справочник по C++

Типы данных

Тип данных определяет характеристики объекта: внутреннюю структуру, размер выделяемой памяти, множество значений и доступные операции над ним. Условно типы можно разделить на три категории:

Для работы с типами С++ предоставляет следующие возможности:

базовые типы

Следующие типы относятся к базовым:

Переменные

Под переменной понимается именованная область памяти, содержащая объект заданного типа. Задание начального значения переменной при ее создании называется инициализацией. Не все компиляторы по умолчанию инициализируют объекты нулями. Поэтому если предполагается, что исходник будет компилироваться на различных компиляторах, лучше инициализировать нулями в ручную, где это необходимо.

/*
Общее правило объявления переменных
имя_типа имя_переменной1 [= инициал_выражение] [,имя_переменнойn [= инициал_выражение]];
*/

#include <boost/typeof/typeof.hpp>
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <string>
using namespace std; 
using namespace boost;
using namespace boost::lambda;

int main()
{
double dbl,dbltmp;            // объявление двух переменных типа double   
int iint1,iint2 = 2,iint3=34; // объявление трех переменных типа int
float ffloat1 = 3.5+iint3;    // объявление переменной типа float
bool bbool1 = iint2>iint3;    // 2 > 34 - ложь
bool bbool2 = true;           // равносильно bool bbool2 = 1;
char a='a',b=98;              // объявление трех переменных типа char
wchar_t wa=L'a', wb=98;       // объявление трех переменных типа wchar_t
// void v; - ОШИБКА  

//пример использования sizeof
cout<<"sizef(double)="<<sizeof(double)<<endl;
cout<<"sizeof(short int)="<<sizeof(short int)<<endl;
cout<<"sizeof(long long int)="<<sizeof(long long int)<<endl;

// пример использования typedef
string str="abcdefgklm";
string::iterator it;
typedef string::iterator strit; 
strit it1;

// использование typeof 
typeof(str.begin()) it2;

// пример использования auto
// auto it3=str.begin()+4 
BOOST_AUTO(it3,str.begin()+4);
// проверяем
cout<<"*it3="<<*it3<<endl;


// а вот пример из документации Boost,
// в таких случаях обходится без typeof или auto
// не очень приятно 
lambda_functor<
    lambda_functor_base<
        logical_action<and_action>,
        tuple<
            lambda_functor<
                lambda_functor_base<
                    relational_action<greater_action>,
                    tuple<
                        lambda_functor<placeholder<1> >,
                        int const
                    > 
                > 
            >,
            lambda_functor<
                lambda_functor_base<
                    relational_action<less_action>,
                    tuple<
                        lambda_functor<placeholder<2> >,
                        int const 
                    > 
                > 
            >
        > 
    > 
> 
f = _1 > 15 && _2 < 20;
// лучше так
typeof(_1 > 15 && _2 < 20) f1 = _1 > 15 && _2 < 20;
BOOST_AUTO (f2, _1 > 15 && _2 < 20);

return 0;
}

Рейтинг@Mail.ru