C ++:未初始化的可变输出在Xcode中为0

时间:2016-03-31 03:31:01

标签: c++ xcode initialization

我参加了一个非常基本的初学者编程课程,专注于C ++。我们目前正在学习有关成员变量和局部变量的知识。为此,我编写了这个非常简单的程序,看看当声明一个局部变量但是未初始化时的输出是什么,并给出与已经初始化的成员变量相同的名称

0

我的期望是我会得到一些非常大的随机数的垃圾输出。相反,输出为Sub Macro2() ' ' Macro2 Macro ' ' Dim str1 As String Dim str2 As String Dim str3 As String Dim str As String str1 = "URL;https://www.census.gov/construction/bps/txt/tb3u" str2 = "201601" str3 = ".txt" str = str1 & str2 & str3 With ActiveSheet.QueryTables.Add(Connection:= _ str, Destination _ :=Range("$A$2")) .Name = "tb3u201601_4" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlAllTables .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With 。这有什么特别的原因?我使用Xcode,如果这有所不同。

1 个答案:

答案 0 :(得分:3)

官方说这是未定义的行为。但是有些环境会将内存归零。而其他人会将其未初始化。你可以依靠的一件事是在所有环境中表现不一样(例如,visual studio,gcc等)