相关疑难解决方法(0)

我是否更喜欢常量而不是定义?

在C中,我是否更喜欢常量而不是定义?我最近阅读了很多代码,所有的例子都大量使用了定义.

c const c-preprocessor

46
推荐指数
5
解决办法
4342
查看次数

C++"const"关键字解释

在阅读用C++编写的教程和代码时,我经常偶然发现const关键字.

我看到它使用如下:

const int x = 5;
Run Code Online (Sandbox Code Playgroud)

我知道这意味着它x是一个常量变量,可能存储在只读内存中.

但究竟是什么

void myfunc( const char x );
Run Code Online (Sandbox Code Playgroud)

int myfunc( ) const;
Run Code Online (Sandbox Code Playgroud)

c++ const constants

34
推荐指数
2
解决办法
4万
查看次数

如何在C中指定变量为final?

我知道可以使用#define宏声明常量.有了这个,将整数,浮点或字符文字定义为常量会很简单.

但是,对于更复杂的数据结构,例如数组或结构,例如:

typedef struct {
    int name;
    char* phone_number;
} person;
Run Code Online (Sandbox Code Playgroud)

我希望能够初始化一次,然后使其成为一个不可编辑的结构.

在面向对象的语言中,存在final关键字,可以轻松完成此任务,但在C中没有这样的事情.我想到的一个解决方法是使用setjmplongjmp模拟try-catch括号并在检测到更改时执行回滚.您需要将备份存储在文件/内存对象中,如果您想要保护许多此类对象以防止意外更改,则可能会产生一些混乱.

问:有可能在C中有效地表示这种模式吗?如果是,怎么办?

c final

4
推荐指数
1
解决办法
6133
查看次数

标签 统计

c ×2

const ×2

c++ ×1

c-preprocessor ×1

constants ×1

final ×1