在哪里可以找到所有C ++十进制类型指示器?

时间:2019-04-09 08:33:57

标签: c++ keyword

在哪里可以找到所有C ++十进制类型的指示器,例如

long l = 0L;

我也知道L U f d。还有其他吗?我在哪里可以找到它们?如何明确指示未签名的短裤?

4 个答案:

答案 0 :(得分:7)

您所指的该指标称为后缀

对于整数类型,有两种类型的后缀:

  1. 无符号后缀-字符u或字符U
  2. 长后缀 —字符l或字符L long-long-suffix —字符序列{{1 }}或字符序列ll

对于整数文字,您可以结合使用这些后缀,例如LLul,以在同一文字中同时实现“ unsignednes”和“ longness”。

浮点类型也有后缀:ullfFl之一

  1. 不带后缀的文字定义了L
  2. doublef定义F
  3. floatl定义L

还有一些用户定义的文字,您可以为其引入用户定义的后缀。

关于第二个关于long double的问题:unsigned short没有明确的后缀,因此您将不得不使用short或C样式强制转换。

另一种方法是像这样定义用户定义的文字运算符

static_cast

然后使用它来定义如下文字:unsigned short operator "" _ush(unsigned long long int a) { return static_cast<unsigned short>(a); }

我已经使用以下代码片段检查了它是否可以正常工作:

unsigned short a = 123_ush;

有关我的答案中提及的内容的更多信息,我建议您查看cppreference:Integer literalsFloating point literalUser-defined literal

答案 1 :(得分:4)

不能。 C ++中没有unsigned shortshort文字。

您需要使用static_cast

参考:https://en.cppreference.com/w/cpp/language/integer_literal

答案 2 :(得分:1)

一个简短的列表是:

1.0 => double
1.0f => float
1 => int
1U => unsigned int
1L => long
1UL => unsigned long
1ULL => unsigned long long
1LL => long long

这是前缀后缀的良好文档: https://www.geeksforgeeks.org/integer-literal-in-c-cpp-prefixes-suffixes/

答案 3 :(得分:0)

您可以在lex.literal中找到内置文字词缀的完整列表。

我会引用整个表格,但是我们对此没有降价支持,因此这里是后缀列表:


lex.icon/2的整数后缀:

  • (无后缀)
  • Const ppLayoutBlank = 2 Const ppViewSlide = 1 Const ppFixedFormatTypePDF As Long = 2 Const ppPrintSelection As Long = 2 Option Explicit Sub ExportChartstoPowerPoint() Dim PPApp As Object Dim chr Set PPApp = CreateObject("PowerPoint.Application") PPApp.Presentations.Add PPApp.ActiveWindow.ViewType = ppViewSlide For Each chr In Sheets("% LA Closed SLA").ChartObjects PPApp.ActivePresentation.Slides.Add PPApp.ActivePresentation.Slides.Count + 1, ppLayoutBlank PPApp.ActiveWindow.View.GotoSlide PPApp.ActivePresentation.Slides.Count chr.Select ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture PPApp.ActiveWindow.View.Paste PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True Next chr PPApp.Visible = True If MsgBox("Would you like to save each slide to .PDF?", vbOKCancel) = vbOK Then Dim path As String Dim objPPTApp As Object Dim slide As Object path = GetSetting("FPPT", "Export", "Default Path") With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = path .AllowMultiSelect = False .Title = "Select destination folder" .Show If .SelectedItems.Count = 1 Then path = .SelectedItems(1) MsgBox "Saving slides to " + path Else MsgBox "No file path chosen" End If End With Dim oPPT As Object, oSlide As Object Dim sPath As String, sExt As String Dim i As Variant Set objPPTApp = GetObject(, "PowerPoint.Application") For Each oSlide In objPPTApp.ActivePresentation.Slides i = oSlide.SlideIndex oSlide.Select objPPTApp.ExportAsFixedFormat _ path:=sPath & i & ".pdf", _ FixedFormatType:=2, _ RangeType:=3 Next oSlide Set oPPT = Nothing End If End Sub u
  • Ul
  • LuUl
  • Lll
  • LLuUll

这些确切类型取决于字面值的大小,但是如果您查看table 7,将会发现没有后缀可以为您提供LL


为完整起见,以下是lex.fcon中的浮点后缀:

  • unsigned shortflF中的任何一个。

L / f表示Ffloat / l表示L。没有后缀表示long double