빈 std :: optional <string> UB 사용 여부?

마이크

다음 코드 :

    std::optional<std::string> so;
    std::cout << so->size() << std::endl;
    std::cout << so.has_value();

출력 :

   0
   0  

내 질문은 그것이 안전한지 여부입니다 : so->size()빈 선택 사항. clang sanitizer를 사용했지만 위 코드에서 UB를보고하지 않았습니다.

프랑수아 안드리 유

operator->빈에서 사용 하는 것은 std::optional에있는 유형에 관계없이 정의되지 않은 동작 T입니다 std::optional<T>.

cppreference에 따르면 std::optional<T>::operator->:

*this에 값이 없으면 동작이 정의 되지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

String isEmpty를 사용하여 빈 문자열 확인

분류에서Dev

std :: string에서 부분 문자열을 교체하지만 C ++를 사용하여 전부는 아님

분류에서Dev

istream_iterator <char>를 사용하여 일부 istream 콘텐츠를 std :: string에 복사 할 수 있습니까?

분류에서Dev

lb 및 ub를 사용하여 fmincon에 매개 변수 전달

분류에서Dev

std :: search를 사용하여 std :: string에서 하위 문자열 검색

분류에서Dev

strpos 빈 / 빈 부분 문자열 in string

분류에서Dev

strpos 빈 / 빈 부분 문자열 in string

분류에서Dev

imagemagick을 사용하여 대부분 빈 이미지 감지

분류에서Dev

std :: visit를 사용하여 std :: variant 값을 std :: string으로 변환하는 방법

분류에서Dev

catch 내부에서 Optional.empty () 사용

분류에서Dev

CUDA를 사용하여 std :: vector <std :: string>을 GPU 장치에 복사하는 방법

분류에서Dev

std :: optional을 사용할 때 명명 된 반환 값 최적화

분류에서Dev

std :: optional <A>를 클래스 A의 클래스 멤버로 사용

분류에서Dev

std :: string :: erase를 사용하여 문자열에서 시작 문자 제거

분류에서Dev

크기를 넘어서 op []를 사용하여 std :: string 수정의 효과?

분류에서Dev

std :: string을 windows-1256을 사용하여 인코딩 된 jstring으로 변환

분류에서Dev

std :: string :: substr 명령을 사용하여 C ++에서 문자열 분할

분류에서Dev

std :: string을 사용하여 객체에서 함수를 호출하는 방법

분류에서Dev

assimp를 사용하여 메시를 std :: string으로 가져 오기

분류에서Dev

strspn을 사용하여 std :: string의 find_first_not_of를 모방하는 방법

분류에서Dev

JQuery를 사용하여 빈 tbody 제거

분류에서Dev

구분 기호를 사용하여 std :: string을 std :: vector로 분할하는 예제 코드의 범위 문제

분류에서Dev

std :: ifstream은 임시 std :: string ()을 생성자 인수로 사용하여 이상하게 작동합니다.

분류에서Dev

lua 5.1에서 string.gmatch를 사용하여 문자열을 분할 할 때 빈 일치 항목 포함

분류에서Dev

LINQ를 사용하여 System.Array에서 List <string>으로 변환, 빈 값을 유지해야 함

분류에서Dev

xsl을 사용하여 조건부로 빈 파일 / 출력 생성

분류에서Dev

std :: string 사용시 분할 오류

분류에서Dev

std :: string :: npos 사용시 오류 발생

분류에서Dev

std :: vector <std :: vector <std :: string >>에서 항목 확인하기 std :: find 사용

Related 관련 기사

  1. 1

    String isEmpty를 사용하여 빈 문자열 확인

  2. 2

    std :: string에서 부분 문자열을 교체하지만 C ++를 사용하여 전부는 아님

  3. 3

    istream_iterator <char>를 사용하여 일부 istream 콘텐츠를 std :: string에 복사 할 수 있습니까?

  4. 4

    lb 및 ub를 사용하여 fmincon에 매개 변수 전달

  5. 5

    std :: search를 사용하여 std :: string에서 하위 문자열 검색

  6. 6

    strpos 빈 / 빈 부분 문자열 in string

  7. 7

    strpos 빈 / 빈 부분 문자열 in string

  8. 8

    imagemagick을 사용하여 대부분 빈 이미지 감지

  9. 9

    std :: visit를 사용하여 std :: variant 값을 std :: string으로 변환하는 방법

  10. 10

    catch 내부에서 Optional.empty () 사용

  11. 11

    CUDA를 사용하여 std :: vector <std :: string>을 GPU 장치에 복사하는 방법

  12. 12

    std :: optional을 사용할 때 명명 된 반환 값 최적화

  13. 13

    std :: optional <A>를 클래스 A의 클래스 멤버로 사용

  14. 14

    std :: string :: erase를 사용하여 문자열에서 시작 문자 제거

  15. 15

    크기를 넘어서 op []를 사용하여 std :: string 수정의 효과?

  16. 16

    std :: string을 windows-1256을 사용하여 인코딩 된 jstring으로 변환

  17. 17

    std :: string :: substr 명령을 사용하여 C ++에서 문자열 분할

  18. 18

    std :: string을 사용하여 객체에서 함수를 호출하는 방법

  19. 19

    assimp를 사용하여 메시를 std :: string으로 가져 오기

  20. 20

    strspn을 사용하여 std :: string의 find_first_not_of를 모방하는 방법

  21. 21

    JQuery를 사용하여 빈 tbody 제거

  22. 22

    구분 기호를 사용하여 std :: string을 std :: vector로 분할하는 예제 코드의 범위 문제

  23. 23

    std :: ifstream은 임시 std :: string ()을 생성자 인수로 사용하여 이상하게 작동합니다.

  24. 24

    lua 5.1에서 string.gmatch를 사용하여 문자열을 분할 할 때 빈 일치 항목 포함

  25. 25

    LINQ를 사용하여 System.Array에서 List <string>으로 변환, 빈 값을 유지해야 함

  26. 26

    xsl을 사용하여 조건부로 빈 파일 / 출력 생성

  27. 27

    std :: string 사용시 분할 오류

  28. 28

    std :: string :: npos 사용시 오류 발생

  29. 29

    std :: vector <std :: vector <std :: string >>에서 항목 확인하기 std :: find 사용

뜨겁다태그

보관