错误、漏洞、问题 - 页 2870

 
Roman:

这与模板有什么关系?
如果使用语法不是用于模板,在这种情况下。

开发者在本节中加入了类型名描述和一个例子。读到最后,你会发现这一段和这个例子

 
A100:

(1)和(2)之间的区别是什么?亲爱的开发者--也许Roman 是对的,现在typename返回type?

我认为这更接近于一个宏观

 
A100:

开发者在这一节中加入了对类型名的描述和一个例子。读到最后,你会发现这一段和这个例子

你看,文档的那一部分是关于模板的。
模板与这些例子没有关系。
typename与获得sizeof是一样的。

#define   A '+'

void OnStart()
{
   Print(sizeof(A));
   Print(typename(A));
   Print(sizeof("string"));
   Print(typename("string"));
}
2020.10.09 02:20:21.917 TestScript (MNQZ20,M1)  2
2020.10.09 02:20:21.917 TestScript (MNQZ20,M1)  ushort
2020.10.09 02:20:21.917 TestScript (MNQZ20,M1)  12
2020.10.09 02:20:21.917 TestScript (MNQZ20,M1)  string
 
Roman:

了解到文档的那一部分是关于模板的。
模板与这些例子没有关系。
typename就像得到sizeof

文档中说:为了创建处理不同数据类型通用方法, 应该使用关键字tyename来获取参数的类型,作为一个字符串

Typename这个词在这句话中的位置是什么?我没有看到?是的...模板的例子。你期望开发者为你提供所有场合的例子吗?

 
A100:

文档说:为了创建 处理不同数据类型 的通用方法,你必须使用关键字 tyename来获取参数的类型,作为一个字符串

Typename这个词在这句话中的位置是什么?我没有看到?是的...模板的例子。你期望开发商给你提供所有场合的例子吗?

在这种情况下,我们不创建任何东西,我们只是从类型中获得它们的名字。
远离模板。和模板的文档。
你看到打印的结果了吗?你还需要什么?
说实话,我不明白你的误解。

 
Roman:

在这种情况下,我们不创建任何东西,我们从类型中得到它们的名字。
远离模板。还有模板的文档。
你看到打印的结果了吗?你还需要什么?

你看到这个打印的结果了吗?

void OnStart()
{
    Print("ushort");
}

结果: ushort

那么,"ushort "是一种类型吗?按照你的说法,这个条目是正常的?

void OnStart()
{
    "ushort" ch = '+';
}
不,它不是一个类型,它是一个字符串。打印不打印类型 -PrintFormat 没有这样的格式。它可以打印字符串、数字、符号,但不能打印类型
 
A100:

你能看到这个打印的结果吗?

结果: ushort

那么现在:"ushort "是一种类型吗?按照你的说法,这样的条目是正常的?

))) 你让我吃惊。

你把一个字符串的字面意思传给了打印机并得到了它。
为了得到一个类型的名称,你使用关键字typename("ushort")
得到类型的 名称string

你把类型本身传给typename(string),得到同样的东西

实际上这是文档中的一个错误,它没有描述如何处理tyename 关键字。
有一个关于sizeof和typename 的描述,只针对模式
虽然我在上面举了一个例子,tyename得到的是类型名称,就像sizeof得到的是大小 一样。

 
Roman:

)))),你让我吃惊。

你向打印机传递了一个字符串字面,你得到了它。

因此,你也要传递一个字符串字面意义来打印

void OnStart()
{
    Print(typename('+'));
}

结果: ushort

如果你在所有的解释和研究文件后不这么认为,那是你的问题。

void OnStart()
{
    Print(short); //Error - потому что принт типы не печатает
}
 
A100:

所以你传递了一个字符串的字面意义给打印

结果: ushort

如果你在阅读了所有的解释和文件后不这样认为,那是你的问题。

我有说过它会返回一个字符串吗?
是你迷上了字符串和Print()
,而且输出不会是一个字符串字面,而是字符整数类型ushort
总之也是,在你的认知中不是我的问题。

 
Roman:

输出将不是一个字符串字 面,而是字符整数类型ushort

输出将是准确的字符串字 面。在这里--发现了直接的证据--这里根本就没有印刷品。

int f()
{
    return typename('+'); //warning: implicit conversion from 'string' to 'number'
}
现在试着证明相反的情况--也是没有印刷品的情况下。自然,用一个例子来证明,而不是用 "文件里不是这么说的--我知道的更多 "这样的幻想。