«string-interning» 태그된 질문


14
우리는 언제 String 리터럴에서 String의 인턴 메소드를 사용해야합니까?
에 따르면 문자열 # 인턴 () , intern메소드는 문자열이 문자열 풀에서 발견되는 경우, 그렇지 않으면 새로운 문자열 객체는 문자열 풀에 추가되고이 String의 참조가 반환, 문자열 수영장에서 문자열을 반환하기로되어있다. 그래서 나는 이것을 시도했다 : String s1 = "Rakesh"; String s2 = "Rakesh"; String s3 = "Rakesh".intern(); if ( s1 == s2 …

4
일부 컴파일러가 동일한 문자열 리터럴에 동일한 주소를 사용하는 이유는 무엇입니까?
https://godbolt.org/z/cyBiWY 'some'MSVC에서 생성 한 어셈블러 코드에서 두 개의 리터럴을 볼 수 있지만 clang과 gcc가있는 것은 하나뿐입니다. 이로 인해 코드 실행 결과가 완전히 다릅니다. static const char *A = "some"; static const char *B = "some"; void f() { if (A == B) { throw "Hello, string merging!"; } } 누구든지 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.