深入学习c++ 关键词第三部分
namespace
命名空间。
基本用法:
namespace xspace
{
class A
{
int data;
};
}
class A
{
int data;
};
void function()
{
xspace::A a1;
A a2;
namespace yspace = xspace;
yspace::A a3;
}
noexcept
当你确定自己的某个函数不会抛出异常时,可以使用noexcept,这样编译器对该函数进行处理时,会采用更优化的手法。
如:
void function() noexcept
{
std::cout<<"hello"<<std::endl;
}
not
同于 !
not_eq
同于 !=
nullptr
这是一个指代空指针的关键字。
当然,你也可以使用0或NULL来当作空指针。
但是nullptr本身也是一个类,这就使它与前两者有所区别:
void func1(int*)
{
}
template <typename T,typename U>
void func2(T t,U u)
{
t(u);
}
void test()
{
func2(func1,0); //无法转换类型
func2(func1,NULL); //无法转换类型
func2(func1,nullptr); //可
}
using
平常只在using namespace std;里见过,其实它还有和typedef一样的用法。
using my_int = int;
typedef int my_int; //这俩一样