함수에 구조체 정보가 없어도 가능합니까? 이 같은 것이 int f(int x,int y=1)
이고 f (2)를 호출하는 것은 괜찮습니다.하지만이 경우 int f(int x,struct my_struct &y)
거기에 참조가 있다고 생각하는 올바른 방법은 무엇입니까?함수 생략 struct
1
A
답변
2
참조 번호가 const
이 아니므로 임시 개체 인 기본값에 바인딩 할 수 없습니다. 당신은 과 같이 일부 비 임시 개체에 바인딩 수 :
my_struct obj;
int f(int x, my_struct& y = obj) {
// ...
}
그러나 이것은 두 번째 인수가없는 f
의 모든 호출이 같은 obj
에 액세스 할 것이라는 점을 의미 할 것입니다. 그들은 각각 그것을 수정할 수 있고 다음에 다른 상태로 obj
을 받게됩니다. 이것은 아주 전형적인 기본값이 아닙니다. 매번 동일한 기본값을 갖기를 기대합니다.
개체를 전달할 수없는 경우 귀하의 함수가 비 const
참조에 의해 개체를 가져 오는 이유는 무엇입니까? 호출자가 개체를 전달하여 수정할 수있게하려면 const
참조를 가져옵니다.
귀하의 y
매개 변수가 const
참조 인 것으로 판단하는 것이 좋습니다. 호출자가 관찰 할 개체를 전달하고 복사하지 않으려는 경우 const
참조를 가져옵니다. 스택 오버플로
int f(int x, const my_struct& y = my_struct(1, 2, "some args")) {
// ...
}
관련 문제
- 1. 함수 선언 생략
- 2. 함수 구조체로서의 struct struct C
- 3. 생략 부호가있는 함수 프로토 타입
- 4. struct 생성자 + 함수 매개 변수
- 5. struct children 내에서 함수 호출
- 6. Javascript 함수 인수를 생략 할 수 있습니까?
- 7. struct in struct in struct
- 8. struct 구조체에서 파생 된 클래스의 가상 함수
- 9. SWIG를 C에서 함수 포인터로 사용하기 struct
- 10. 기본 구조체가있는 struct struct?
- 11. 파일 프로그래밍에서 struct struct
- 12. C# struct with struct
- 13. C++ 템플릿의 인수 생략
- 14. 부트 스트랩 CSS 생략 스타일 생략
- 15. C# struct C# struct 구조체의 마샬 배열
- 16. Mongoexport은 생략
- 17. struct 포인터의 끝에 struct 포인터를 추가하십시오.
- 18. Go (Struct)와 Struct (Struct)의 차이점은 무엇입니까?
- 19. 함수/메서드에서 매개 변수를 생략 할 수있는 방법이 있습니까?
- 20. 함수 호출에서 임의의 매개 변수를 생략 할 수 있습니까?
- 21. 내장 함수 ord()를 생략 한 단어를 아는 사람이 있습니까?
- 22. struct 멤버 (함수)가 struct 자체 앞에 정의 될 수 있습니까?
- 23. struct reg와 struct user_regs_struc 사이의 차이점은 무엇입니까?
- 24. struct 멤버가 다른 struct 멤버를 가리키고 있습니다
- 25. struct addrinfo와 struct sockaddr의 차이점은 무엇입니까
- 26. struct cdev와 struct device의 차이점은 무엇입니까
- 27. struct sockaddr에서 struct addrinfo를 생성하는 방법은 무엇입니까?
- 28. struct tm in another struct - c
- 29. 호환되지 않는 유형 struct * 및 struct
- 30. typedef struct
에 오신 것을 환영합니다 : 그럼 당신은 은이 바인딩과 같이 임시 객체를 할 수! 나는 네가 무엇을 구하려고하는지 정확하게 이해하지 못한다. 구조체 인수가 기본값을 가질 수 있는지 묻는 중입니까? 또는 참조 인수가 기본값을 가질 수 있는지 묻는 중입니까? 또는 다른 것? –
예. 참조 된 질문에는 수락 된 답변이 없지만 가장 많이 투표 한 질문은 내가 수행 한 답변입니다. –
사실 감사합니다. – siloan