当前位置:  开发笔记 > 编程语言 > 正文

参数声明中的"const T const"

如何解决《参数声明中的"constTconst"》经验,为你挑选了1个好方法。

我前几天遇到过这段代码:

template< class T > 
T findMax(const T const * data, 
        const size_t const numItems) { 
// Obtain the minimum value for type T 
T largest = 
    std::numeric_limits< T >::min(); 
for(unsigned int i=0; i largest) 
largest = data[i]; 
return largest; 
}

为什么每个参数都包含两个consts?



1> AnT..:

这没有任何有意义的理由.此外,这种显式重复的 const限定符在C++中是非法的.代码格式不正确.

7.1.6.1 cv限定符[dcl.type.cv]

1有两个cv限定符,const和volatile.每个cv-qualifier最多只能在cvqualifier-seq中出现一次.

可以const在C++声明中引入冗余s,但这需要"隐藏" const在typedef-name中的先前s.在该形式中,声明将是合法的,并且将忽略冗余限定符.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有