zoukankan      html  css  js  c++  java
  • C++ 11 +,开坑。

    最近换新工作了。工作中需要用到高端的c++11的一些操作,至于我后面又plus一下还是因为可能是c++14或者17中提供的一些操作。反正都是c++11以及之后的一些特性。

    首先,今天看一下关于函数模板的问题。我前几天看到这样一段代码。

     1 #include <iostream>
     2 
     3 class test
     4 {
     5 private:
     6 public:
     7     test(){}
     8     ~test(){}
     9     void show(int number);
    10 };
    11 
    12 void test::show(int number)
    13 {
    14     std::cout<<__LINE__<<" number="<<number<<std::endl;
    15 }
    16 
    17 class work
    18 {
    19 private:
    20 public:
    21     work(){}
    22     ~work(){}
    23 
    24     //work_it就是例子生成的函数了,模板的参数就是某个类,work_it传入的是这个类的实例的指针和对应的方法
    25     template <class T>
    26     void work_it(T *object, void(T::*method)(int number))
    27     {
    28         (*object.*method)(number);
    29     } 
    30 };
    31 
    32 int main()
    33 {
    34     test objk;
    35     work work_;
    36     work_.work_it<test>(&objk, &test::show);
    37     return 0;
    38 }

    其中调用部分也可以采用lamda表达式,最最最需要关注的是*object.*method一定要加括号,在调用时,不然会报错。

    可以图形化看到的东西坚决不会用命令行ORZ

  • 相关阅读:
    第十四周学习进度总结
    第十三周学习进度总结
    第十二周学习进度总结
    第十一周学习进度总结
    第十周学习进度总结
    第九周学习进度总结
    第八周学习进度总结
    day16-机器学习十讲第一讲
    day15-验证码识别
    day14-卷积网络识别手写数字
  • 原文地址:https://www.cnblogs.com/IGNB/p/11563174.html
Copyright © 2011-2022 走看看