Ich weiss immer noch nicht genau was du bei 2 meinst. Schau doch mal mit einem besseren Taskmanager nach wieviele Threads dein ICQ Programm hat...
Natürlich kann man Arrays dynamisch wachsen lassen, in C++ hast du da mindestens 5 Möglichkeiten das zu tun... STL Containers - C++ Reference