Hallo Stackoverflow Gefährten,Zugriff auf IloIntArray-Elemente im Visual Studio-Debugger?
I MILP Modelle in C++ mit CPLEX über die Concert Technologie Bibliothek bin zu lösen, die jeweils variable und Parameterfelder codieren in IloVarArray
und IloArray
Objekte. Ich habe bereits die zahlreichen Fragen zum Zugriff auf normale Arrays in Visual Studio im Debugger-Modus gelesen.
jedoch für array,i-1
Abfrage auf das Direkt-Fenster, wenn Sie den Wert auf die i-th
ein IloIntArray array
Position gespeichert zugreifen wollen, ist nicht sehr nützlich, da Sie eine sehr informative Meldung erhalten:
IloArray<__int64>: {_impl=0x0000028c514ad968 {_max=4 _sizeof=8 _size=3 ...} }
Welche, wie Sie sehen können, enthält eine einzige nützliche Information, die Array-Größe z array
enthält drei Elemente in ihrer ersten Dimension, da sie mehrere enthalten können. Es wird nicht einmal ein Fehler angezeigt, wenn Sie versuchen, über die Array-Grenzen hinaus zu indizieren!
Sie können jedoch nicht auf die Werte im Array zugreifen, es sei denn, Sie enthalten eine große Menge von cout
Anweisungen und potenziell eine Reihe von for
Schleifen, sowie Ihr Projekt millionenfach neu aufzubauen, was sehr zeitaufwendig ist sogar in mittelgroßen Modellen.
Also, können wir tatsächlich auf ein IloArray
Element zugreifen, während auf Debugger ohne viel Aufwand, oder ist cout
meine einzige verfügbare Option?
Vielen Dank! Die Concert Technology ist in der Tat sehr nützlich. Und ich erkenne an, dass es viel einfacher und sauberer ist, Modelle zu erstellen und zu lösen sowie den Zugang zum CPLEX-Optimierungsprozess zu erleichtern, aber es dauert eine Weile, sich daran zu gewöhnen, um es effektiv zu nutzen. Danke für deine Hilfe @TimChippingtonDerrick – Jacko