할 수 있는 변수에서 사용될 함수 호출에서 생략 함수에서는 C++

0

질문

이 함수는 변수의 번호를 인수

void func(int count, ...)  // ellipsis function
{
// function definition
}

할 수 있는 함수 호출될 만든 다음과 같다:

int a{};
double b{};
string c{};

func(3,a,b,c); // using actual variables instead of fixed values in function call

나의 질문은 생략 함수가 호출되는 항상 그것은 단지 fixed 같은 값 func(3,5,2.7,"Hi") 거나 할 수 있는 변수를 공급 함수 호출에 이렇게 func(3,a,b,c)?

c++ ellipsis variadic-functions
2021-11-24 04:59:50
2

최고의 응답

3

참고로 통과 같은 클래스 std::string와 가 아닌 사소한 복사본을 생성하거나 사소 이동 생성자 또는 소멸자가,지원되지 않을 수 있습니다 그는"구현 시 정의된"의미입니다. 이 있을 확인하는 귀하의 컴파일러는 방법에 대한 설명서가 같은 클래스가 전달되거나 확인하는 경우 그들이에서 지원됩니다.

할 수 있는 변수에서 사용될 함수 호출에서 생략 함수에서는 C++

그렇습니다.

할 수 있는 함수 호출될 같은 다음과 같이

그렇습니다.

때임 기능이라고 그것은 항상 그냥 고정 값을 다음과 같 func(3,5,2.7,"Hi")

No.

할 수 있는 변수를 공급 함수 호출에 이렇게 func(3a,b,c)?

그렇습니다.

을 제안할 수 있습니 어떤 참조는 그래서 내가 할 수 있는 몇몇 연구에서 그것은?

https://en.cppreference.com/w/cpp/language/variadic_arguments https://en.cppreference.com/w/cpp/utility/variadic https://eel.is/c++초안/expr#화-12

과에서는 C++해야 합 강아보세요: https://en.cppreference.com/w/cpp/language/parameter_pack 기 때문에,유형이 안전합니다.

2021-11-24 07:01:52
0

비록임은 우리에게 몇 가지 유용한 기능,그것은 매우 위험합니다. 사용하는 경우 생략,컴파일러는 확인하지 않는 형식의 인수로 전달하는 기능입니다. 도록 컴파일러에 던지지 않는 어떠한 오류는 경우 인수의 다른 유형이 있습니다. 심한 경우 통과 문자열을,더블,또는 부울 값을 입력 전달되는 평균()함수를 반환하는 예기치 않은 값을 반환,컴파일러에 던지지 않는 어떤 오류가 있습니다.

출처: https://www.geeksforgeeks.org/ellipsis-in-c-with-examples/

2021-11-24 06:56:15

이에 도움이 되지 않습니다.
Pratap Biswakarma

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................