考虑:

int testfunc1 (const int a)
{
  return a;
}

int testfunc2 (int const a)
{
  return a;
}

这两种功能在各个方面是相同的还是有区别?

我对C语言的答案很感兴趣,但是如果C++语言中有一些有趣的东西,我也想知道.

推荐答案

const TT const是相同的.指针类型会变得更复杂:

  1. const char*是指向常数char的指针
  2. char const*是指向常数char的指针
  3. char* const是指向(可变)char的常量指针

换句话说,(1)和(2)是相同的.使指针(而不是指针对象)为const的唯一方法是使用后缀-const.

这就是为什么许多人喜欢总是把const放在字体的右边("East Const"风格):它使它相对于字体的位置一致,易于记忆(据传闻,它似乎也更容易教初学者).

C++相关问答推荐

在C中,entry = fgets(entry,sizeof(entry),*pt)是否是错误?

我的C语言中的回归函数如何工作?

生成C代码时自动复制/生成' tmwtypes.h '依赖项

C sscanf没有捕获第二个参数

变量的const视图是否定义良好?

如何创建由符号组成的垂直结果图形?

ESP32在vTaskDelay上崩溃

向上强制转换C中的数值类型总是可逆的吗?

_泛型控制表达式涉及数组碰撞警告的L值转换错误?

C中函数类型的前向声明

在CLANG中调试预处理器宏

判断X宏的空性

在每种If-Else情况下执行语句的最佳方式

等同于铁 rust 的纯C语言S未实现!()宏

C整型和_泛型.哪些类型是兼容的?

使用%f格式说明符打印整数值

这段代码用于在C中以相反的顺序打印数组,但它不起作用

如何在c中使用具有不同变量类型的内存分配?

C编译和运行

即使客户端不发送数据,也会发生UNIX套接字读取