Klizzz's blog

关键字 Explicit

[TOC] C++ explicit:从隐式转换到实际使用 explicit 最常见的用途,是修饰构造函数,阻止编译器通过这个构造函数进行隐式转换。 先记住一句话:你仍然可以主动调用构造函数,但编译器不能在需要类型转换时自动替你调用它。 1. 什么是隐式转换 隐式转换,就是你没有明确写出转换操作,编译器自动把一种类型转换成另一种类型。 int a = 10; double...

关键字 Using

[TOC] using关键字在现代C++中非常有用,特别是在涉及模板编程和泛型编程时,它可以与别名模板结合来使代码更加清晰和容易维护。由于using让代码更加符合直觉,其在类型定义和命名空间管理方面比传统的typedef和单独的命名空间声明更受欢迎。1 1、声明命名空间 “using” 关键字最为人熟知的用途之一就是简化命名空间2的使用。 using声明可以将命名空间中的特定成员引入...

关键字 Static_assert

[TOC] static_assert static_assert 是 C++11 引入的一项特性,用于在编译时进行断言检查。1 这意味着你可以在编译代码时检查某些条件是否为真,如果条件不满足,编译器将停止编译过程并显示一条错误消息。 这对于调试、验证模板元编程中的类型约束或强制执行特定的编译时条件非常有用。 static_assert 的用法非常简单,它有两个参数,语法如下: ...