<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      隨手擼一個簡單的帶檢查的printf

      #include <stdio.h>
      #include <iostream>
      #include <vector>
      #include <string>
      #include <cassert>
      
      template<typename T> std::string t()     { return "?"; }
      template<> std::string t<const char *>() { return "s"; }
      template<> std::string t<char>()         { return "c"; }
      template<> std::string t<int>()          { return "d"; }
      template<> std::string t<unsigned>()     { return "u"; }
      template<> std::string t<float>()        { return "f"; }
      template<> std::string t<double>()       { return "lf"; }
      
      template<typename T>
      std::vector<std::string> operator+(std::vector<std::string> chs, T val)
      {
          chs.push_back(t<T>());
          return chs;
      }
      
      template<typename... T>
      std::vector<std::string> ty2ch(T... vals)
      {
          return (std::vector<std::string>{} + ... + vals);
      }
      
      std::vector<std::string> format2ch(const char* str)
      {
          std::vector<std::string> ret;
      
          while (*str != '\0')
          {
              if (*str == '%')
              {
                  if (*(str + 1) != '\0' && *(str + 2) != '\0' && *(str + 1) == 'l' && *(str + 2) == 'f')
                  {
                      ret.push_back("lf");
                      goto b;
                  }
                  if (*(str + 1) != '\0')
                  {
                      ret.push_back(std::string{*(str+1)});
                      goto b;
                  }
              }
      b:
              ++str;
          }
          return ret;
      }
      
      template<typename... T>
      int Tprintf(const char* format, T... vals)
      {
          auto ch_format = format2ch(format);
          auto ch_vals = ty2ch(vals...);
          assert(ch_format == ch_vals);
      
          return printf(format, vals...);
      }
      
      int main(int argc, char *argv[])
      {
          Tprintf("this is a string %s", "hahah");
      
          return 0;
      }

       

      posted @ 2019-06-22 17:14  literalkernel  閱讀(296)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产揄拍国产精品| 国产成人综合亚洲欧美日韩| 性做久久久久久久| 人妻综合专区第一页| 晋州市| 成在线人永久免费视频播放 | 五月天国产成人av免费观看| 国产成人av一区二区三| 久久久久久久久久久免费精品| 日日躁夜夜躁狠狠躁超碰97| 国产又色又爽又黄的| 亚洲中文字幕日产无码成人片| 天全县| 国产精品黄色精品黄色大片| 在国产线视频A在线视频| 亚洲中文字幕第一页在线| 18禁精品一区二区三区| 国产精品久久蜜臀av| 2021国产精品一卡2卡三卡4卡 | 午夜福利国产精品小视频| 久久精品国产亚洲欧美| 国产精品国产三级国快看| 天天做天天爱夜夜夜爽毛片| 亚洲人午夜精品射精日韩| 欧美精品在线观看视频| 色综合久久综合香蕉色老大| 欧美亚洲另类制服卡通动漫| 久久人人妻人人爽人人爽| 九九热在线精品免费视频| 国产免费丝袜调教视频| 国产精品中文字幕二区| 久99久热这里只有精品| 成人免费在线播放av| 国产亚洲精品久久久久久无亚洲| 少妇被粗大的猛烈xx动态图| 人妻少妇精品系列| 午夜福利国产精品视频| 国产成人无码AV大片大片在线观看| 日本japanese丰满白浆| 国产女人喷潮视频在线观看| 亚洲+成人+国产|