#include "stdafx.h"
#include
using namespace std;
namespace MaxMin{
template
T max(T x, T y)
{return ((x>y)? x : y); }
}
namespace MaxMin{
template
T min(T x, T y)
{return ((x}
int main()
{
setlocale(0,"");
int a,b;
cout<<"\nВведите числа a и b пробел: ";
cin>>a>>b;
cout<<"\nНаибольшое число: ";
cout<cout<<"Наименьшее число: ";
cout<system("pause");
return 0;
}
Пространства имен
2
Одно и то же пространство имен можно объявлять несколько раз.
add.h:
namespace DoMath {
int add(int x, int y)
{ return x + y; }
}
subtract.h:
namespace DoMath {
int subtract(int x, int y)
{ return x - y; }
}
#include "add.h"
#include "subtract.h"
int main()
{
std::cout << DoMath::add(5, 4) << '\n'; // 9
std::cout << DoMath::subtract(5, 4) << '\n'; // 1
return 0;
}
main.cpp:
Одни пространства имен могут быть вложены в другие пространства имен. Например:
#include "stdafx.h"
#include
namespace Boo
{
namespace Doo
{
const int g_x = 7;
}
}
int main(){
std::cout << Boo::Doo::g_x;
return 0;
}
Псевдонимы и вложенные пространства имен
Так как это не всегда удобно и эффективно, то C++ позволяет создавать псевдонимы для пространств имен:
#include "stdafx.h"
#include
namespace Boo
{
namespace Doo
{
const int g_x = 7;
}
}
namespace Foo = Boo::Doo; // Foo теперь считается как Boo::Doo
int main(){
std::cout << Foo::g_x;
return 0;
}
2
В C ++ есть два способа преобразование (приведения) типов переменных:
- Неявное преобразование типов, когда компилятор автоматически конвертирует один фундаментальный тип данных в другой.
- Явное преобразование типов, когда разработчик использует один из операторов явного преобразования для выполнения конвертации объекта из одного типа данных в другой.
Процесс конвертации значений из одного типа данных в другой называется преобразованием типов.
Явное и неявное операторы приведения типов.
Приведения типов
Явное
С style
C++
Не явное
Происходит автоматически
Преобразование типов переменных
2
Неявное преобразование типов (или «автоматическое преобразование типов») выполняется всякий раз, когда требуется один фундаментальный тип данных, но предоставляется другой, и пользователь не указывает компилятору, как выполнить конвертацию (не использует явное преобразование типов через операторы явного преобразования).
Есть 2 основных способа неявного преобразования типов:
- числовое расширение;
- числовая конверсия.
Числовые конверсии
Когда мы конвертируем значение из более крупного типа данных в аналогичный, но более мелкий тип данных, или конвертация происходит между разными типами данных, то это называется числовой конверсией.
Преобразование типов переменных
2
Числовое расширение
Когда значение из одного типа данных конвертируется в другой тип данных побольше (по размеру и по диапазону значений), то это называется числовым расширением. Например, тип int может быть расширен в тип long, а тип float может быть расширен в тип double:
В языке C++ есть два варианта расширений:
- Интегральное расширение (или «целочисленное расширение»). Включает в себя преобразование целочисленных типов, меньших, чем int (bool, char, unsigned char, signed char, unsigned short, signed short) в int (если это возможно) или unsigned int.
- Расширение типа с плавающей точкой. Конвертация из типа float в тип double.
Do'stlaringiz bilan baham: |