关于c++ const 函数参数

来源:互联网 发布:label mx条码软件 编辑:程序博客网 时间:2024/05/17 22:26
#include<stdio.h>
           #include<ctype.h>
          
           void ChangeStr(const char *String);
  
           int main(void)
           {
                    char str[] = "The C programme";

                    Change(str);
                    printf(str);
                    
                    system("Pause");
                    return 0;
            }

            void ChangeStr(const char *String)
            {
                    char *Source = (char *)String;
              
                    while (*Source)
                    {
                               *Source = toupper(*Source);
                               Source++;
                    }
             }

             //end

             上面的程序把字符串中的每个字符都转换成大写字母了。因为*String把地址给了*Source,而

*Source的值的改变编译器并不干涉,可能有的编译器会发出警告之类。上面的程序只是为了说明const并不会阻止

参数的修改,如果象上面程序那样,个人感觉没什么意义,只会让人容易混乱而已。


上面是从网上看到一位仁兄写了这样的看法,我不太清楚const的具体实现,但是我觉得好像他说的没有什么道理,我也没有什么充足的理由来推翻他。如果有高手看到了帮忙解释一下,我正在深入的去理解const的含义。
原创粉丝点击