ПредишенСледващото

За stdarg казал. Chudnenko.

Но в C ++ 11, нов мощен инструмент - шаблони с променлив брой аргументи (variadic шаблони). Няма да описвам подробно, може да се прочете тук. и след това на Google. Това също е добро описание е достъпно в новото издание Dzhosattisa на CPP Стандарт библиотека (като скоро трябва да публикува в руски).

Да, в C ++ може да функционира с променлив брой аргументи. За тази цел, списък на формални параметри трябва да се постави на точките.

За достъп трябва да се използва показалеца, всяка следваща аргумент "е разположена" един от друг чрез sizeof определен тип, така че е необходимо да нарастване на показалеца на тази стойност, като например + =. За да намерите в края на списъка с аргумент използване на такива методи - или един от изричното аргумент се отнася до броя на действителните "несигурни" аргументи, или да използвате стойността на маркер за последен аргумент (например 0, NULL, -1 - основното нещо, което на стойност не е "законен" според логиката . Подробности за функцията тук или тук Като цяло, тази тема е лесно да Google, така че не са наистина се опитва да даде пълна тема infu, но ако това не е ясно - искат помощ

По принцип, да, в C ++ е възможно да се създаде функции с неизвестен брой на параметрите по-рано. За тази цел тук е синтаксис:

Както можете да видите, за да покаже, че броят на параметри не е известна, сложи точките. Трябва да се помни, че подобна функция трябва да се определи първият параметър (тип и име), тъй като взаимодействието с останалата част от аргументите, се основават на сегашното показалка - достъп до доводите, изложени непряко - чрез към първия показалеца. Добавянето на компенсация на pFirst можете да се свържете следната функция аргументи. За ваше Например, тя ще изглежда така: pFirst [16].

Трябва да се каже, че този метод - не е много добро решение, тъй като в този случай не може да има проблеми с безопасността на вид - по принцип, може да премине аргументи от всякакъв тип и компилаторът няма да кажа нищо, но е изпълнен с грешки по време на работа. Sotvetsvenno, ДАННИ начин за по-голяма opdhodit за предаване на редица подобни значения, но за тази цел в повечето случаи много по-добро използване на масива

Свързани статии

Подкрепете проекта - споделете линка, благодаря!