当前位置: 首页 > wzjs >正文

做本地房产网站推广优化

做本地房产网站,推广优化,万州做网站,北京skp文章目录 一、简介二、实现代码三、实现效果 一、简介 这里使用std标准库简单实现一个字符格式化输出&#xff0c;方便后续的使用&#xff0c;它有点类似Qt中的QString操作。 二、实现代码 FMTString.hpp #pragma once#include <cmath> #include <cstdio> #include…

文章目录

  • 一、简介
  • 二、实现代码
  • 三、实现效果

一、简介

这里使用std标准库简单实现一个字符格式化输出,方便后续的使用,它有点类似Qt中的QString操作。

二、实现代码

FMTString.hpp

#pragma once#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <optional>
#include <random>
#include <type_traits>
#include <sstream>namespace FMT 
{void formatStream(std::stringstream& stream, char const* text) {stream << text;return;}/// <summary>/// 在编译时检测某个类型T是否支持通过 operator<< 输出到流(如std::stringstream)/// </summary>/// <typeparam name="T"></typeparam>template <class T>class IsStreamable {private:template <class TT>static auto test(int)-> decltype(std::declval<std::stringstream&>() << std::declval<TT>(),std::true_type());template <class>static auto test(...)->std::false_type;public:static bool const value = decltype(test<T>(0))::value;};/// <summary>/// 将任意类型的参数通过流操作符 << 转换为字符串流(std::stringstream)的内容/// </summary>/// <typeparam name="T"></typeparam>template <class T>class ArgToStream {public:static void impl(std::stringstream& stream, T&& arg) {stream << std::forward<T>(arg);}};/// <summary>/// 将格式字符串 text 中的 {} 占位符依次替换为传入的参数 arg, args...,并将结果写入 std::stringstream 流中/// </summary>/// <typeparam name="T"></typeparam>/// <typeparam name="...Args"></typeparam>/// <param name="stream"></param>/// <param name="text"></param>/// <param name="arg"></param>/// <param name="...args"></param>template <class T, typename... Args>void formatStream(std::stringstream& stream, char const* text, T&& arg,Args&&... args) {static_assert(IsStreamable<T>::value,"One of the args has no ostream overload!");for (; *text != '\0'; ++text) {if (*text == '{' && *(text + 1) == '}') {ArgToStream<T&&>::impl(stream, std::forward<T>(arg));formatStream(stream, text + 2, std::forward<Args>(args)...);return;}stream << *text;}stream << "\nFormat-Warning: There are " << sizeof...(Args) + 1<< " args unused.";return;}template <class... Args>std::string formatString(char const* text, Args&&... args) {std::stringstream stream;formatStream(stream, text, std::forward<Args>(args)...);return stream.str();}
}

main.cpp

// 标准文件
#include <iostream>
#include <string>#include "FMTString.hpp"int main(int, char** argv)
{std::string msg = FMT::formatString("Hello, {}! You have {} new messages.", "Alice", 5);std::cout << "Output:" << msg << std::endl;system("pause");return 0;
}

三、实现效果

http://www.dtcms.com/wzjs/282056.html

相关文章:

  • 全椒县建设局网站专业搜索引擎优化电话
  • 网站里的动画效果图semen
  • 商城网站建设需要注意什么整合营销
  • 河南免费网站建设公司推荐广告联盟代理平台
  • 怎么看网站是否被k过百度集团公司简介
  • 石岛网站开发电脑培训班零基础
  • 如何做网站同步别人的商城网站友情链接的作用
  • wordpress文章设置seo研究中心骗局
  • 有没有帮忙做网站的宁德市古田县
  • 网站建设 搜狐关键词推广系统
  • 网站未备案可以做经营活动吗站长收录平台
  • 佛山按天网站优化服务整合营销网络推广
  • 一个公司可以做几个网站备案竞价系统
  • 网站建设从哪几个情况去判微指数官网
  • 网站域名是什网络营销是什么专业
  • 上海网站高端定制手机制作网页
  • 手机网站 微网站网络营销和传统营销的区别有哪些
  • 做门户网站起什么域名好运营培训班
  • 没网站能不能cpc广告点击赚钱做郑州seo优化培训
  • 网站备案取名谷歌海外推广
  • 济南外贸网站推广免费b站推广网站在线
  • 网站正在建设中手机版免费的网站申请
  • 长沙做网站建设seo描述快速排名
  • 西安市城乡建设委员会官方网站网站百度
  • 珠海网站建设建站模板厦门网站推广公司哪家好
  • 响应式网站是花都网站建设公司
  • 标志设计网站推荐自动点击器
  • 上海市城乡建设网站百度站长工具怎么关闭教程视频
  • 网站采集信息怎么做合肥网站优化公司
  • 北京市政府部门网站建设网推什么平台好用