0
これをアップグレードすることは可能ですか?for
?forループをC++ 11スタイルにアップグレードする
hItem = m_treeHistory.InsertItem(TVIF_TEXT|TVIF_PARAM,
strText, 0, 0, 0, 0, (LPARAM)psAssign, TVI_ROOT, TVI_LAST);
if (psAssign->aryPtrAssignments.GetSize() > 0)
{
iSize = psAssign->aryPtrAssignments.GetSize();
for (i = 0; i < iSize; i++)
{
psAssignHist = (HIST_DATA_ASSIGN_S *)psAssign->aryPtrAssignments[i];
if (psAssign != nullptr)
{
strText = psAssignHist->datAssignment.Format(VAR_DATEVALUEONLY);
if (psAssignHist->strMethod != _T(""))
{
strText += _T(" - ");
strText += psAssignHist->strMethod;
}
if (psAssignHist->strTheme != _T(""))
{
strText += _T(" - ");
strText += psAssignHist->strTheme;
}
// AJT v10.7.0
if (strFilterText == _T("") || IsFilteredMatch(psAssignHist))
{
m_treeHistory.InsertItem(TVIF_TEXT|TVIF_PARAM,
strText, 0, 0, 0, 0, (LPARAM)psAssignHist, hItem, TVI_LAST);
}
}
}
tvs.hParent = hItem;
tvs.lParam = (LPARAM)&m_treeHistory;
tvs.lpfnCompare = CompareDateAssignHistory;
m_treeHistory.SortChildrenCB(&tvs);
}
それはこのfor
ループです:私はhereを見ていると、それが示唆
iSize = psAssign->aryPtrAssignments.GetSize();
for (i = 0; i < iSize; i++)
{
:
for(int i: someDataStructure) doSomething();
をしかし、私は私が私のpsAssign->aryPtrAssignments
リストそのためにこれを採用することができるかどうかわかりませんCPtrArray
はHIST_DATA_ASSIGN_S
ポインターです。
ありがとうございます。
これらの 'begin'と' end'メソッドはどのように 'for'ループによって呼び出されますか? –
@AndrewTruckle通常の関数と同様に、引数として配列(私の例ではmyArray)を渡します。ループの同等のコードの例を含むリファレンスの私の答えのリンクに従ってください。 –
私は参照してください。ですから、実際には、それらのメソッドを持つ独自の 'CPtrArrayEx'クラスを作成し、代わりに** my **配列を' CPtrArrayEx'から派生させることを提案しています。私は反復方法を修正することができます。そうですか。最終的な論理的な質問は、そのような変更を行う価値があるかどうかです。 –