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

房地产营销策划方案西安关键词优化排名

房地产营销策划方案,西安关键词优化排名,广州市新冠疫情最新消息,企业门户网站优化1.从C17开始,if语句允许在条件表达式里添加一条初始化语句。当仅在if语句范围内需要变量时,使用这种形式的if语句。在if语句的条件表达式里定义的变量将在整个if语句中有效,包括else部分。 std::mutex mx; bool shared_flag true; // guard…

      1.从C++17开始,if语句允许在条件表达式里添加一条初始化语句。当仅在if语句范围内需要变量时,使用这种形式的if语句。在if语句的条件表达式里定义的变量将在整个if语句中有效,包括else部分

std::mutex mx;
bool shared_flag = true; // guarded by mx
constexpr int get_value() { return 66; }int test_if_init()
{std::map<std::string, std::string> addrs{{"csdn", "https://blog.csdn.net/fengbingchun/"},{"github", "https://github.com/fengbingchun"}};if (auto it = addrs.find("github"); it != addrs.end())std::cout << "github:" << it->second << "\n"; // github:https://github.com/fengbingchunif (auto it = addrs.find("csdn"); it == addrs.end())std::cout << "no find\n";else // if中的it变量在else分支中也有效std::cout << "csdn:" << it->second << "\n"; // csdn:https://blog.csdn.net/fengbingchun/if (auto [it, inserted] = addrs.insert({ "gitee", "https://gitee.com/fengbingchun/test.git" }); !inserted)std::cout << "already exists\n";elsestd::cout << "inserted successfully: key:" << it->first << ", value:" << it->second << "\n"; // inserted successfully: key:gitee, value:https://gitee.com/fengbingchun/test.gitif (auto x = get_value(); x == 66)std::cout << "x is:" << x << "\n"; // x is:66if (std::lock_guard<std::mutex> lock(mx); shared_flag) {std::cout << "setting shared_flag to false\n"; // setting shared_flag to falseshared_flag = false;}if (auto val1 = addrs.cbegin()->first, val2 = addrs.crbegin()->first; val1 != val2)std::cout << "val1:" << val1 << ", val2:" << val2 << "\n"; // val1:csdn, val2:githubconst std::string str{ "if" };if (auto keywords = { "if", "for", "while" }; std::any_of(keywords.begin(), keywords.end(), [&str](const char* kw) { return str == kw; }))std::cout << "Error:Token must not be a keyword\n"; // Error:Token must not be a keywordreturn 0;
}

      2.从C++17开始,switch语句允许在条件表达式里添加一条初始化语句,其范围仅限于switch语句块。通过使用带初始化的switch语句,我们可以在对条件表达式求值之前初始化一个对象/实体,用法与以上的if相同。

int test_switch_init()
{std::random_device rd;std::mt19937 mt(rd());std::uniform_int_distribution<int> dist(0, 100);switch (auto val = dist(mt); val) {default:std::cout << "val:" << val << "\n"; // val:20}return 0;
}

      3.从C++17开始,你可以在函数模版中使用if constexpr语句做出编译时分支决策,而无需使用(resort)多个函数重载.
      if constexpr语句在编译时求值,编译器仅生成与发送到函数模板的参数类型相匹配的if分支的代码。该功能主要用在模版中,它允许仅编译特定的语句,具体取决于模版类型。
      注意:
      (1).if constexpr和if的唯一区别是:if constexpr在编译时进行判断,而if在运行时进行判断;所以,使用if constexpr的代码在编译完成后,程序的这一部分其实就不会有分支存在。
      (2).通过使用语法if constexpr,编译器可以计算编译期的条件表达式,在编译期决定使用哪部分,其余部分的代码将会被丢弃,但会进行语法检查。所有的static_assert也必须有效,即使所在的分支没有被编译。
      (3).不能在函数体之外使用if constexpr.
      (4).if constexpr不支持短路求值(当&&左侧为false时停止求值,当||左侧为true时停止求值)。
      (5).if constexpr可以在任何函数中使用,而并非仅限于模版。只要条件表达式是编译期的,并且可以转换成bool类型。
      (6).在泛型代码之外使用if constexpr的唯一好处是被丢弃的部分不会成为最终程序的一部分,这将减小生成的可执行程序的大小。

template<typename T>
auto show(T t)
{//if (std::is_pointer_v<T>) // show(a) results in compiler error for return *t. show(p) results in compiler error for return t.if constexpr (std::is_pointer_v<T>) // this statement goes away for show(a)return *t;elsereturn t;
}template<typename T>
void print_value(const T& value)
{if constexpr (std::is_same_v<T, std::string>)std::cout << "type: std::string: value: " << value << ", length: " << value.length() << "\n";else if constexpr (std::is_same_v<T, int>)std::cout << "type: int: value: " << value << "\n";else if constexpr (std::is_same_v<T, float>)std::cout << "type: float: value: " << value << "\n";elsestd::cout << "unsupported type\n";
}int test_if_constexpr()
{int a = 66;int* p = &a;std::cout << show(a) << "\n"; // 66std::cout << show(p) << "\n"; // 66std::string str{ "hello" };print_value(str); // type: std::string: value: hello, length: 5print_value(a); // type: int: value: 66float val{.6f };print_value(val); // type: float: value: 0.6print_value(p); // unsupported typereturn 0;
}

      执行结果如下图所示:

      GitHub:https://github.com/fengbingchun/Messy_Test

http://www.tj-hxxt.cn/news/23807.html

相关文章:

  • 原平的旅游网站怎么做的百度指数分析数据
  • 如何对网站做优化成都网站seo收费标准
  • 常州专业网站建设公司咨询搜索引擎优化的简称
  • 关于政府网站建设的指导意见网络营销服务企业有哪些
  • 昆明网站制作策划国内最好的seo培训
  • 网站建设方案书是什么意思爱站网ip反域名查询
  • 湖州品牌网站建设自己创建一个网站需要多少钱
  • 淘宝客推广怎么做网站备案广州现在有什么病毒感染
  • 党务网站建设总体要求网络推广外包业务销售
  • 有网站前端如何做后台郑州好的seo外包公司
  • 做网站还需要服务器吗最新国际新闻头条今日国际大事件
  • 淄博学校网站建设哪家好浙江网站建设营销
  • 网页设计难学吗有技术含量吗赤峰seo
  • 好的网站开发培训专业做灰色关键词排名
  • 手机网站 微信链接搜狗seo怎么做
  • m开头的可以做网站的软件新网域名注册查询
  • 专业的集团网站开发开一个网站需要多少钱
  • 唐山网站公司建设网站深圳网站制作哪家好
  • 通过网站提升公司形象百度一下1688
  • 如何用zblog做棋牌网站深圳百度推广排名优化
  • 网站规划与开发专业网址大全qq浏览器
  • 网站自适应手机端花西子网络营销策划方案
  • 中瑞网络网站建设流程搜易网服务内容
  • 建设电子商务网站前的市场分析优化网络搜索引擎
  • 申请网站官网最新一周新闻
  • 网站建设公司企业文化新东方教育培训机构官网
  • 网站空间租用有哪些服务b2b平台都有哪些网站
  • 服务器做的网站怎么使用教程软件开发app制作
  • 网络营销策划案怎么写百度关键词优化技巧
  • 锦州如何做百度的网站福建百度代理公司