首页 > 其他分享 >文本运算符的重载

文本运算符的重载

时间:2023-05-11 11:22:04浏览次数:34  
标签:val auto 运算符 constexpr 重载 文本 size

文本运算符重载,分为数值文本运算符,和字符串文本运算符。

先看一下数值类型的文本运算符:

constexpr unsigned int operator""_s(unsigned long long val) {
    return val / 2;
}
constexpr float operator""_s2(long double val) {
    return val / 2;
}

整数类型,其参数要求必须是unsigned long long 或者long double,返回值类型任意。

使用方式:

   constexpr auto i = 12.56_s2;
    constexpr auto m = 34567_s;

字符串类型文本运算符重载:

constexpr auto operator""_len(const char* val) {
    return val;
}
constexpr auto operator""_len2(const char* val,size_t size) {
    return size;
}
constexpr auto operator""_wlen(const wchar_t* val,size_t size) {
    return size;
}
constexpr auto operator""_wlen2(const char16_t* val, size_t size) {
    return size;
}

调用方式:

constexpr size_t i = "hello"_len2;  // 5u
    constexpr auto s = L"你好"_wlen;    // 2u

文本运算符的调用方式是固定的,文本在前,后面跟上函数名字,文本必须是字面量。

泛型文本运算符重载:

template<char... val>
constexpr auto operator""_p() {
    return (0 + ... + val);
}

调用方式:

constexpr auto i = 12345_p;     // 255

12345被解析为5个独立的字符,并非是一个整数,

注意:文本运算符的重载,需要符合约定的重载类型,其参数需要是指定的格式。

 

标签:val,auto,运算符,constexpr,重载,文本,size
From: https://www.cnblogs.com/Super-biscuits/p/17390509.html

相关文章

  • layUI的富文本编辑器赋值问题
    layUI中富文本编辑器的特点先获取div的id,然后再给div上面的文本赋值,然后调用富文本编辑器特有的组件,进一步给它赋值,就可以实现了varele=document.getElementById("msg-input");//获取文本域的idconsole.log(e.target.responseText);ele.value=ele.value+e.target.respo......
  • uniapp自定义开发一个文本输入框
    开发component中的一个input标签一、在原来的模块上面创建一个新的类TestComponent1.新建TestComponent2.配置json文件二、uniapp准备工作1.在uniapp中写一下刚刚创建的输入框2.打包导出资源3.资源替换复制刚刚生成的本地资源文件夹到AndroidStudio项目中......
  • 本地图文直接复制到富文本编辑器中
    ​ 当前功能基于PHP,其它语言流程大抵相同。大概流程:1.将docx文件上传到服务器中2.使用PHPoffice/PHPword实现将word转换为HTML3.将HTML代码返回并赋值到编辑器中 1编辑器配置修改1.1新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /*......
  • 百度地图绘制地区的棱柱效果-定位-自定义点-文本标记-信息弹窗
    @目录百度地图webgl使用自定义地图样式地区镂面棱柱效果绘制点信息以及信息弹窗百度地图webgl使用在项目的index.html中引入<scripttype="text/javascript"src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=你的AK秘钥"></script>注意,百度webgl的引入和百度地图的引入......
  • 接单日记(三)文本处理之词云生成
    目录接单日记(三)文本处理之词云生成一、实验目的二、实验内容三、程序及结果1、运行程序2、运行结果接单日记(三)文本处理之词云生成此为一个实验报告,故遵守实验报告的格式。一、实验目的熟悉Python第三方库python-docx、wordcloud、jieba库的安装和使用熟悉使用pathlib......
  • CSS对文本框的修饰
    CSS对文本框的修饰这是我们常用的文本框,第一个是普通的样式,第二个是只有背景颜色的文本框,第三个是把文本框的四个边变成黑色的样式,第四个是把上边框、左右边框定义与背景颜色的样式,像一个填空题:)这是怎么实现的呢?下面我将依次介绍。(1)普通文本框代码如下:(实际上就是我们常用的)<i......
  • 第四章学习 运算符
    运算符  packagemainimport("fmt")funcmain(){1.正数2.相加操作3.字符串拼接varn1int=+10varn2int=3+4vars1string="ab"+"cd"fmt.Println(s1)//除号fmt.Println(10/3)//两个int类型数据运算,结果一定为整数......
  • 使用富文本编辑,内容有<img src=xxx//xx//xx>报错:JSON parse error: Unexpected charac
     前端使用富文本标签,填写内容里面有图片地址或一些特殊字符,保存时导致报错后台json不能解析内容到实体类相应的字段中去报错代码:JSONparseerror:Unexpectedcharacter('\'(code92)):...解决办法:1、有的说在配置xss过滤时开放,保存的请求接口地址。————————......
  • uniapp 中的 rich-text 富文本 怎样编辑修改 样式
    1.首先在HTML中 <rich-text:nodes="formatRichText(newObjc)"></rich-text>2.在 methods中写入方法formatRichText(html){//html就是你要传进来地富文本参数//去掉img标签里的style、width、height属性......
  • 【PyQt6】Python实现QComboBox显示文本与对应值不同的方法
    问题实现QComboBox显示文本与对应值不同的方法。比如下拉框显示“正确”和“错误”,但程序中想要获取“1”和“0”,但又不想再根据显示内容来判断。解决#设置combobox.addItem("正确",1)combobox.addItem("错误",0)#获取text=combobox.currentText()#正确/错误val......