• 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;
    }
  • 相关阅读:
    细说javascripe事件传播流程
    由浅入深的讲述Get和Post的区别
    使用windowsAPI 加载shellcode
    从PE资源加载和执行Shellcode
    DLL注入
    shellcode注入原理
    asp.net学习--ashx一句话木马
    asp.net学习--asmx一句话木马
    asp.net学习--svc一句话木马
    php--莫客服系统代码审计(已申请CNVD)
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7787367.html
Copyright © 2020-2023  润新知