【杂项总结】筛法,内部类,typedef,typename

1.筛法:
做表一般只需要做到sqrt(n)。
①判断某个数是否为质数:只需要做到sqrt(n)+1,如果目前有有一个质因数,则他为合数;如果没有则为质数。
②判断质因数个数:做到sqrt(n)+1,每次判断出一个就用n/primei,直到不能再/primei。这样做到头,如果没找到质因数则n一定为质数(质因数个数为0);若n辗转相除之后!=1,且找到至少一个质因数,则质因数个数++。
(例题见http://cxsjsx.openjudge.cn/hw202009/G/)

2.内部类
例题:定义三维数组类
在3维数组内部定义了一个2维数组类
http://cxsjsx.openjudge.cn/hw202008/C/

3.typedef
https://blog.csdn.net/qq_31073871/article/details/81258558?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

4.typename
我们遇到的一个问题是,类模板里面,如果T是一个容器,想定义一个指针的时候必须使用typename
解释如下:

当引用类型T的内部类型(inner type)时, 必须使用关键字typename。例如:

      template <class T>
      class MyClass {
      public:
      typename T::SubType *ptr;  // SubType 是T的一个内部类型,这里的typename 必不可少!

       ....

       };

https://blog.csdn.net/e5Max/article/details/44992337?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158561964019725256735080%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158561964019725256735080&biz_id=0&utm_source=distribute.pc_search_result.none-task

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值