gpt4 book ai didi

c++ - 某些平台上的变量初始化并非随处可见

转载 作者:太空狗 更新时间:2023-10-29 19:54:55 26 4
gpt4 key购买 nike

我有一个为 RHEL5 32 位和 ubuntu10 64 位 (c++ qt4.6) 构建的程序。当我在 ubuntu 上运行该程序时,所有变量都已初始化,而无需我编写此初始化代码。但是当我在 RHEL 上运行程序时,一些变量没有被初始化,我注意到它们大多是整数类型,典型值在 154280152 左右。有趣的是它只发生在几个类中。怎么会这样?

更新:这是一段代码,它是发生这种情况的其中一个类的标题(抱歉我现在正在研究的布局):
<br/>
#ifndef FCP_CONFIG_H<br/>
#define FCP_CONFIG_H<br/>
#include "ui_fcpConfig.h"
#include <br/>
#include "fpsengine.h"<br/>
#include "fcp_cfg_delegate.h"<br/>
#define SET_COL 3<br/>
#define GLOBAL_KEY_COL 2<br/>
#define LOCAL_KEY_COL 1<br/>
#define ENABLE_COL 0<br/>
namespace Ui<br/>
{<br/>
class fcpConfig;<br/>
}



<pre><code>class fcpConfig : public QWidget
{
Q_OBJECT

public:
fcpConfig(QWidget *parent, FPSengine * FPS);
Ui::fcpConfigForm ui;
void setupFcpCfg();

private:
QWidget * myParent;
FPSengine * myFPS;

fcpCfgDelegate delegate;
QList<QSpinBox*>failOrderList;
QList<QRadioButton*>primaryList;

int numFCP;
QList<int>numFcpInEachSet;
int currentSet;

void updateSets();
void refreshFailorderDuringUserEdit(int fcpPos);
QSignalMapper * signalMapper;
QMutex mutex;
void sendSysStatusMsgAndPopup(QString msg);
int curSet; //the connected Fcp's Set

private slots:

void updateFcpFailOrderSpinBox(int absPos);
void on_twFCP_cellClicked( int row, int column );
void on_buttonBox_clicked(QAbstractButton* button);

private:
template <class T>
void buildObjList(QObject * location,QList<T> *cmdEleList,QString objName, int numObj){
T pCmdEle;
cmdEleList->clear();
for(int i=0;i<numObj;i++){
pCmdEle = location->findChild<T>(objName+QString("%1").arg(i+1));
cmdEleList->append(pCmdEle);
}
}

//used to send SysStatus and popuMsg when number of active Fcps in Set not 1
QString activeList; //build a string representing Fcp numbers that are active.
int iNumActive;
};
#endif // FCP_CONFIG_H
</code></pre>

最佳答案

不同的编译器做不同的事情。 标准没有规定所有变量都应该自动初始化,所以很多编译器都没有。这意味着它们通常装满了垃圾。有时您会很幸运并得到一 block 零,但这种情况很少见。不要指望它。

关于c++ - 某些平台上的变量初始化并非随处可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3895022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com