相关疑难解决方法(0)

const int与int const作为C++和C中的函数参数

快速提问:

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

int testfunc2 (int const a)
{
  return a;
}
Run Code Online (Sandbox Code Playgroud)

这两个功能在每个方面都是相同的还是有区别的?我对C语言的答案感兴趣,但如果C++语言中有一些有趣的东西,我也想知道.

c c++ const

111
推荐指数
6
解决办法
9万
查看次数

C++ const通过指针改变了,还是它?

在c中,可以使用像这样的指针来改变const:

//mainc.c
#include <stdio.h>

int main(int argc, char** argv) {
    const int i = 5;
    const int *cpi = &i;

    printf("  5:\n");
    printf("%d\n", &i);
    printf("%d\n", i);
    printf("%d\n", cpi);    
    printf("%d\n", *cpi);   

    *((int*)cpi) = 8;
    printf("  8?:\n");
    printf("%d\n", &i);
    printf("%d\n", i);
    printf("%d\n", cpi);
    printf("%d\n", *cpi);
}
Run Code Online (Sandbox Code Playgroud)

从输出中可以看出常量已更改: mainc输出

如果我们在c ++中尝试相同:

//main.cpp
#include <iostream>

using std::cout;
using std::endl;

int main(int argc, char** argv) {
    const int i = 5;
    const int *cpi = &i;

    cout << "  5:" << '\n';
    cout << &i << …
Run Code Online (Sandbox Code Playgroud)

c c++ pointers const

16
推荐指数
2
解决办法
1500
查看次数

标签 统计

c ×2

c++ ×2

const ×2

pointers ×1