相关疑难解决方法(0)

名字的目的是什么?

版本6.0有一个新功能nameof,但我无法理解它的目的,因为它只需要变量名称并在编译时将其更改为字符串.

我认为它在使用<T>时可能有一些用途,但是当我尝试nameof(T)它时只打印一个T而不是使用的类型.

有意的吗?

.net c# c#-6.0 nameof

240
推荐指数
10
解决办法
13万
查看次数

##预处理器运算符和陷阱的应用有哪些应用?

正如我之前的许多问题所述,我正在通过K&R工作,目前正在进入预处理器.其中一个更有意思的事情 - 我之前从未尝试过的任何学习C的尝试 - 是##预处理器操作员.根据K&R的说法:

预处理器运算符## 提供了一种在宏扩展期间连接实际参数的方法.如果替换文本中##的参数与a相邻,则参数将替换为实际参数, ##并删除周围的空白区域,并重新扫描结果.例如,宏paste 连接其两个参数:

#define paste(front, back) front ## back

所以paste(name, 1)创建令牌 name1.

如何以及为什么有人会在现实世界中使用它?它的使用的实际例子是什么,有什么需要考虑的?

c kernighan-and-ritchie stringification c-preprocessor

86
推荐指数
4
解决办法
7万
查看次数

如何在C++中打印变量的名称?

可能重复:
在C中获取变量名的编程方式?

我在这里发布之前已经检查了一些博客.我试过以下片段......

int a=21;

int main()
{
   cout<<#a<<a<<endl;
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在ubuntu 10.04上使用g ++编译器.我收到以下错误:

sample.cpp:17: error: stray ‘#’ in program. 
Run Code Online (Sandbox Code Playgroud)

请建议我如何打印变量名称.

c++

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

如何打印变量名称而不是分配给变量的值?

我有一个值分配给一个变量。如何打印变量的名称而不是分配给变量的值?我知道我可以将变量名硬编码到 Printf 函数中,但我不想使用它。如果类似的东西在 Go 中有效,我想使用格式化程序。

例子

user := "Jada"
fmt.Println(user)
Run Code Online (Sandbox Code Playgroud)

上面将打印分配给变量的值,即“Jada”。

有没有办法让它打印变量名、用户而不是变量值?

variables go

3
推荐指数
1
解决办法
6143
查看次数