• c++11 用户定义字面量


    c++11 用户定义字面量

    #define _CRT_SECURE_NO_WARNINGS
    
    #include <iostream>
    #include <string>
    #include <vector>
    #include <map>
    
    // 用户自定义字面值,或者叫“自定义后缀”更直观些,主要作用是简化代码的读写。
    long double operator"" _mm(long double x) { return x / 1000; }
    long double operator"" _m(long double x)  { return x; }
    long double operator"" _km(long double x) { return x * 1000; }
    
    
    /* 根据 C++ 11 标准,只有下面参数列表才是合法的
    char const *
    unsigned long long
    long double
    char const *, size_t
    wchar_t const *, size_t
    char16_t const *, size_t
    char32_t const *, size_t
    最后四个对于字符串相当有用,因为第二个参数会自动推断为字符串的长度
    */
    size_t operator"" _len(char const * str, size_t size)
    {
        return size;
    }
    
    // 对于参数char const *,应该被称为原始字面量 raw literal 操作符.
    char const * operator"" _r(char const* str)
    {
        return str;
    }
    
    
    void mytest()
    {
        std::cout << 1.0_mm << std::endl; //0.001
        std::cout << 1.0_m  << std::endl; //1
        std::cout << 1.0_km << std::endl; //1000
    
        std::cout << "xyz"_len << std::endl; //结果为3
    
        std::cout << 250_r << std::endl; //结果为250
    
    
        return;
    }
    
    
    int main()
    {
        mytest();
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    技术博客之Saju M
    Dajax 的安装以及详细使用
    当我感觉厌倦的时候
    2014年3月22日 星期日
    windows 7远程桌面访问 ubuntu12.04
    promise的用法
    for循环中匿名同步
    开启Group Work Site功能
    Jquery根据属性模糊查询节点
    设置用户字段
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7787367.html
Copyright © 2020-2023  润新知