C++ 11 Template ... 与Decltype 测试
记录一些C++不常用功能点和一些C++的坑点,备查
Q.C++ using 关键字应用:
private 继承时,使用using 关键字在继承类中修改基类public成员的默认访问类型;
栗子:
class Base
{
public :
int baseMethod()
{
std::cout << "hi~";
return base_memeber;
}
int base_memeber = ;
private : };
class Inherit : private Base
{
public:
using Base::base_memeber;
using Base::baseMethod;
private:
};
Q.C++ static 关键字应用:
函数中可以使用 static 关键字 定义静态变量,其作用范围只在其函数体中有效.
栗子:
int baseMethod()
{
static int t = ;//只会初始化一次
t++;
std::cout << "hi t: " << t;
return t;
}
Q. C++ Template ... 与Decltype ():
#include <iostream>
#include "string" using namespace std; template<typename T>
void func_one(T& val)
{
cout << val << endl << "finished";
} //不可用
template< typename T, typename... Args>
auto func_two(int index, T& val, const Args&... args) -> decltype(T)
{
static int curIndex = ;
if (curIndex == index)
{
return val;
}
else
{
return func_two<T,Args...>(index, args...);
} } template<typename T,typename... Args>
void func_one(T& val, const Args&... args)
{
cout << val << endl;
cout << "Test:" << endl;
func_test(args...);
//func_one(args...);
} void func_test(double d, int i, string str)
{
cout << d << endl << i << endl << str << endl;
} int main()
{
int x; func_one("",2.0f,,""); cin>>x; return ;
}
C++ 11 Template ... 与Decltype 测试的更多相关文章
- c++ 11 游记 之 decltype constexpr
title: c++ 11 游记 1 keyword :c++ 11 decltype constexpr 作者:titer1 zhangyu 出处:www.drysaltery.com 联系:130 ...
- C++11:移动构造函数的测试
C++11:移动构造函数的测试 代码如下: #include <iostream> #include <stddef.h> #include <Windows.h> ...
- template指针小测试
测试结论: 1 函数指针 -- 使用形参固定的一系列函数作为某个函数的形参 -- callback机制 2 模板指针 -- 使用形参可变的一系列函数作为某个函数的形参 -- 3 typename -- ...
- C++11特性:decltype关键字
decltype简介 我们之前使用的typeid运算符来查询一个变量的类型,这种类型查询在运行时进行.RTTI机制为每一个类型产生一个type_info类型的数据,而typeid查询返回的变量相应ty ...
- C++11新特性--decltype (转)
返回值 decltype(表达式) [返回值的类型是表达式参数的类型] 这个可也用来决定表达式的类型,就像Bjarne暗示的一样,如果我们需要去初始化某种类型的变量,auto是最简单的选择,但是如果我 ...
- C++11 类型推导decltype
我们之前使用的typeid运算符来查询一个变量的类型,这种类型查询在运行时进行.RTTI机制为每一个类型产生一个type_info类型的数据,而typeid查询返回的变量相应type_info数据,通 ...
- C++11 auto和decltype推导规则
VS2015下测试: decltype: class Foo {}; int &func_int_r(void) { int i = 0; return i; }; int && ...
- c++11 auto 与 decltype 详解
转自: here 一. auto简介 编程时候常常需要把表达式的值付给变量,需要在声明变量的时候清楚的知道变量是什么类型.然而做到这一点并非那么容易(特别是模板中),有时候根本做不到.为了解决这个问题 ...
- testng入门教程11 TestNG运行JUnit测试
现在,您已经了解了TestNG和它的各种测试,如果现在担心如何重构现有的JUnit代码,那就没有必要,使用TestNG提供了一种方法,从JUnit和TestNG按照自己的节奏.也可以使用TestNG执 ...
随机推荐
- ajax向后台传递数组
$.ajax({ traditional: true//这个设置为true,data:{"steps":["qwe","asd"," ...
- JVM 虚拟机 内存说明
Java虚拟机所管理的内存图: 1程序计数器: 该模块作用是记录线程执行字节码的位置,记录程序执行状态,以便该线程下次获得CPU时继续执行.程序里的每个线程程序计数器相互独立,互不影响,该内存区也称“ ...
- spring MVC 资料
1.web.xmlorg.springframework.web.filter.CharacterEncodingFilter;配置字符编码,配置示例: <filter> <filt ...
- cron表达式使用详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month ...
- 伪静态重写模块rewrite.dll及httpd.ini文件参考下载
伪静态重写模块rewrite.dll及httpd.ini文件参考下载 http://www.ledaokj.com/download/rewrite.rar 服务器端开启伪静态,可以查看以下文章< ...
- JSON简介
JSON的全称是JavaScript Object Notion,即JavaScript对象符号,它是一种轻量级的数据交换格式,JSON的数据格式既适合人来读/写,也适合计算机本身解析和生成.最早 ...
- <jsp:include page="" />路径
填写绝对路径:page="/WEB-INF/folder1/folder2/.../fileName.jsp"
- C# 中 多线程同步退出方案 CancellationTokenSource
C# 中提供多线程同步退出机制,详参对象: CancellationTokenSource CancellationTokenSource 中暂未提供复位操作,因此当调用Cancle 之后,若再次调用 ...
- jQuery判断网页中的id是否有重复的
From:http://blog.csdn.net/china_skag/article/details/6915323判断网页中的ID是否有重复的:指定ID判断 $(function(){ $(&q ...
- C学习
\a:警报 1.exit(),提前结束程序.include <stdlib.h> 2.getch()无缓存.getchar()有缓存,多条连用时注意末尾换行符否则始终.putchar(). ...