首页 > 编程语言 >C++运算符重载相关知识点

C++运算符重载相关知识点

时间:2022-11-13 13:14:00浏览次数:45  
标签:类型转换 知识点 C++ 运算符 cast 重载 强制

1. 运算符重载限制

  • 重载后的运算符必须至少有一个操作数是用户自定义的类型
  • 使用运算符时不能违反运算符原来的句法规则,也不能修改运算符的优先级。

2. 不能进行重载的运算符

  • sizeof : sizeof运算符
  • . : 成员运算符
  • .* : 作用域解析运算符
  • ?: : 条件运算符
  • typeid : 一个RTTI运算符
  • const_cast : 强制类型转换运算符
  • dynamic_cast : 强制类型转换运算符
  • static_cast : 强制类型转换运算符
  • reinterpret_cast : 强制类型转换运算符

3. 只能通过成员函数进行重载

  • = : 赋值运算符
  • () : 函数调用运算符
  • [] : 下标运算符
  • -> : 通过指针访问类成员的运算符

标签:类型转换,知识点,C++,运算符,cast,重载,强制
From: https://www.cnblogs.com/DL1024/p/16885814.html

相关文章

  • C++之string的底层简单实现!(七千字长文详解)
    C++之string的底层简单实现!string之私有成员变量namespaceMySTL{classstring {private: char*_str; size_t_size; size_t_capacity; //这里capa......
  • 周日1040C++班级2022-11-13 数据类型-字符型char
    数据类型-char字符型特点:由单引号’’构成,且长度为1,在格式化中字符用%c来表示正确的字符:‘a’ ‘ ’ ‘#’ ‘1’错误的字符:’aa’ ‘##’ ‘’’’ascii码表......
  • CSP 202203-1 未初始化警告 C++
    1#include<iostream>2#include<vector>3intmain(){4intx{},y{};5std::cin>>x>>y;//读入第一行6std::vector<std::vector<int>>k......
  • 运算符优先级
     1#include<stdio.h>2#defineproduct(x)((x)*(x))3intmain(intargc,char**argv){4printf("Hello,World!\n");56inta=5;7......
  • 297个机器学习彩图知识点(4)
    导读本系列将持续更新20个机器学习的知识点,欢迎关注,获取更多学习资料。1.线性回归参数计算2.向前逐步选择法3.梯度下降4.梯度下降口诀5.梯度6.贪心算法......
  • C++ 面经:项目常见问题 ----- nagle算法,keepalive,Linger 选项
    nagle算法应用场景:1.对于实时性要求很高的交互上,我们不能使用nagle算法,比如FPS射击类PVP对抗类游戏,或者MMO类的对实时要求很高的游戏开发来说是显而易见需要禁掉的,因为假......
  • C++PrimerPlus中文第六版第5章编程练习答案
    1、#include<iostream>usingnamespacestd;intmain(){inti,j;cout<<"Entertwonumbers:";cin>>i>>j;//cout<<"Sumbetween"<<......
  • C++学习笔记1:类的使用
    [基本数据结构]()[类的使用]()[类的继承和派生]()[面向对象特征之一——多态]()[操作符重载]()[const关键字的使用]()1.类的定义与使用1.1类的定义最简单的类的申明:class......
  • [C++] - GCC和LLVM对方法 warning: non-void function does not return a value [-Wre
    最近做一个C++开源项目发现一个奇怪问题,通过clang编译链接执行程序每到有一个就崩溃了,gcc下则没有此问题。后来通过调试,发现原因是bool返回的方法是没有return语句!问......
  • C++预定义指令
    C++预定义指令1.预定义器以#开头的命令,称之为预定义器指令。预定义器指令不在编译器中执行,而是在预定义器中运行。常见的预定义器指令为//文件包含指令#include//宏......