关于C++的那些事儿(一)--读《写给大忙人看的C++》

本文介绍了C++中的注释使用,包括多行注释和单行注释。讲解了如何重置输入流错误标志、类型转换的注意事项,以及在表达式中使用无符号整数的潜在问题。还提到了宽字符的表示方法、C++11中的新特性如基于范围的for循环和lambda函数,并讨论了异常处理和基本异常类。此外,文章深入探讨了指针操作、按位运算符、类型兼容性以及void指针的使用规则。最后,简述了智能指针的概念和基本操作。
摘要由CSDN通过智能技术生成
注释的使用
  1. /* / 是从一个(/ )开始到 ( */)结束的。
  2. 重置输入流的错误标志,需要调用cin.clear()。
  3. int x=static_cast(0.0); ==类型转换==
  4. 从不建议在表达式中组合==有==符号整数和无符号整数。因为无符号整数unsigned int x=-1;在输出的时候会变成65535,因为-1的二进制是全1。
  5. wchat_c wide_str[]=L”\x10ff”; 两个字节的十六进制必须用宽字符。
  6. R “C:\windows” 在C++11中可以原样输出反斜线。
  7. decltype来确定表达式的类型,e.g. decltype(x+y) z=0;
  8. typeid是C++的关键字之一,等同于sizeof这类的操作符。
int x=0;
if(typeid(x+x)==typeid(int)){
    cout<<12<<endl;
   } 
  1. & 按位与  | 按位或  ^按位异或
  2. 前缀递增是应当鼓励的,因为后缀递增需要创建被递增的对象的副本。
++n; //单独的前缀递增 
n++; //单独的后缀递增
  1. << 和 >>都补得是0。
  2. C++的类型转换运算符
运算符 描述
static_cast 将数据转换为指定类型。这是一个简单的数据转换,不涉及指针或const属性
reinterpret_cast 将一个指针转换为一个不同的基本类型
const_cast 可用于从表达式中移除const属性,使得const指针可以被赋值给一个非const指针
dynamic_cast 允许你通过一个类层次结构向下投,但前提是表达式实际上指向所涉及的类型
(类型)表达式 C语言的类型转换,用于支持向后兼容,但正是的话不鼓励这么做

13. C++11中,基于范围的for语句。

//可以访问但不能修改
for(int i:array){
    cout<< i <<endl;
}
//可以访问,也可以修改
for(int &i:array){
    i=0;
}

14.异常处理

C++库中定义的基本异常类

异常 说明
std::exception 所有C++异常的基类。你可以调用what()方法来获取描述该异常的C字符串,该方法被所有子类继承。
std::logic_error 从exception中派生。其中大部分是库函数,或操作符函数可能抛出但没有由编译器本身捕获的错误。
std::runtime_error 从exception中派生。这个类包括常用的运行时错误。

逻辑错误异常

异常 说明
std::bad_cast 报告dynamic_cast表达式的无效使用
std::bad_typeid 报告在某个对象上使用typeid操作符,结果有一个void类型的情况。
std::domain_error
std::invalid_argument
std::length_error
std:: out_of_range

15. break 只退出当前循环,如嵌套循环,可通过设置标记使外侧while循环达到推出条件。
16. lambda 函数

//lambda in STL
#include <algorithm> 
i
2积分。福利资源。 【机会给有准备的人...等待吧,兄弟】《写给大忙人看的C++》全面介绍了C++语言知识,既提供了学习C++语言最新功能的捷径,也为快速找到特定问题的答案提供了便利。《写给大忙人看的C++》简明地描述了C++核心语言和标准库中几乎所有的函数、对象和运算符,一目了然地显示了语法、结构和重要函数的信息,内容组织形式便于快速查找信息。《写给大忙人看的C++》精选了实用的例子来深入地讲解概念,还提供了富有挑战性的练习及参考答案,便于者举一反三,巩固所学的知识。《写给大忙人看的C++》涵盖了C++11的新特性,包括:lambda表达式、右值引用、正则表达式库、随机库、散列表容器、智能指针等。 《写给大忙人看的C++》既适合需要快速了解C++的初学者,也适合想要了解C++11的新特性的有C++编程经验的高级程序员,还可作为开发人员工作中的C++综合参考。 《写给大忙人看的C++》全面介绍了C++语言知识,既提供了学习C++语言最新功能的捷径,也为快速找到特定问题的答案提供了便利。《写给大忙人看的C++》简明地描述了C++核心语言和标准库中几乎所有的函数、对象和运算符,一目了然地显示了语法、结构和重要函数的信息,内容组织形式便于快速查找信息。《写给 大忙人看的C++》精选了实用的例子来深入地讲解概念,还提供了富有挑战性的练习及参考答案,便于者举一反三,巩固所学的知识。《写给大忙人看的C++》涵盖了C++11的新特性,包括:lambda表达式、右值引用、正则表达式库、随机库、散列表容器、智能指针等。, 《写给大忙人看的C++》既适合需要快速了解C++的初学者,也适合想要了解C++11的新特性的有C++编程经验的高级程序员,还可作为开发人员工作中的C++综合参考。 收缩
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值