나는 가치가 있고 그 가치와 그 가치 내부에 대한 참조를 내 유형으로 저장하고 싶다. struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(thing, &thing.count) } 때로는 값이 있고 해당 값과 해당 값에 대한 참조를 동일한 …
Rust 책 의 수명 장 을 읽고 있었고 명명 된 / 명시 적 수명에 대해이 예제를 보았습니다. struct Foo<'a> { x: &'a i32, } fn main() { let x; // -+ x goes into scope // | { // | let y = &5; // ---+ y goes into scope …
다음 함수에서 반환 된 포인터에 액세스 할 수 없습니까? char *foo(int rc) { switch (rc) { case 1: return("one"); case 2: return("two"); default: return("whatever"); } } 따라서 C / C ++에서 지역 변수의 수명은 실제로 함수 내에서만 가능합니다. 즉, char* foo(int)종료 후 반환되는 포인터는 더 이상 아무것도 의미하지 않습니다. 지역 …
C ++ 20 표준 초안의 [basic.scope.pdecl] / 1 은 다음과 같은 (비 규범 적) 예제를 주 ( 풀 요청 3580 의 병합 이전의 부분 인용 ,이 질문에 대한 답변 참조)에 있습니다. unsigned char x = x; [...] x는 자체 (결정되지 않은) 값으로 초기화됩니다. 이것이 실제로 C ++ 20에서 잘 정의 …
C ++ 20 표준에서는 배열 유형이 암시 적 수명 유형이라고 합니다. 암시 적이 지 않은 수명 유형에 대한 배열을 암시 적으로 만들 수 있습니까? 이러한 배열의 암시 적 생성으로 인해 배열 요소가 생성되지 않습니까? 이 경우를 고려하십시오. //implicit creation of an array of std::string //but not the std::string elements: void …