__typeof与typeof
时间: 2023-07-20 21:31:16 浏览: 70
__typeof是GCC编译器内置的关键字,用于获取变量或表达式的类型,例如:
```
__typeof__(expression) variable;
```
typeof是C++11标准引入的type traits的一部分,用于获取类型的信息,例如:
```
std::cout << typeid(expression).name() << std::endl;
```
两者的作用类似,但是__typeof是GCC的扩展,不具有跨平台性,而typeof是C++标准库的一部分,具有更好的兼容性。
相关问题
ST __Typeof
根据提供的引用内容,我们可以了解到typeof是JavaScript中的一个一元运算符,用于获取一个变量的类型。而ST __Typeof则是在ST语言中用于获取变量类型的函数。
ST是一种结构化文本编程语言,常用于工业自动化领域。ST __Typeof函数可以用于获取变量的类型,其语法如下:
```
ST __Typeof(variable)
```
其中,variable为要获取类型的变量名或表达式。该函数返回一个字符串,表示变量的类型。常见的返回值包括:BOOL、BYTE、WORD、DWORD、INT、DINT、REAL等。
例如,我们可以使用ST __Typeof函数获取一个变量的类型,并将其输出:
```
a := 123;
b := REAL_TO_INT(1.23);
c := 'hello';
d := TRUE;
e := [1, 2, 3];
f := {name: 'Tom', age: 18};
// 获取变量类型并输出
PRINT(ST __Typeof(a)); // 输出:INT
PRINT(ST __Typeof(b)); // 输出:INT
PRINT(ST __Typeof(c)); // 输出:STRING
PRINT(ST __Typeof(d)); // 输出:BOOL
PRINT(ST __Typeof(e)); // 输出:ARRAY
PRINT(ST __Typeof(f)); // 输出:STRUCT
```
C中__typeof
__typeof__是GNU C的一个扩展,它可以返回一个表达式的类型。它的语法如下:
```c
__typeof__(expression)
```
其中expression是一个C表达式。__typeof__返回expression的类型。下面是一个例子:
```c
int a = 10;
__typeof__(a) b = a; // b的类型是int
```
在上面的例子中,__typeof__(a)返回int,因此b的类型也是int。
需要注意的是,__typeof__只是一个扩展,不是标准C的一部分。因此,如果你想编写可移植的代码,最好不要使用它。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)