«string-literals» 태그된 질문

문자열 리터럴은 C 및 C ++에서 리터럴 상수 문자열의 구문 표현과 관련이 있습니다.


10
C ++ 여러 줄 문자열 리터럴
C ++에서 la Perl로 여러 줄의 일반 텍스트 상수 상수를 사용할 수있는 방법이 있습니까? 어쩌면 #include파일을 파싱 하는 파싱 ​​트릭이 있습니까? 나는 하나 생각할 수 없지만 소년, 그것은 좋을 것입니다. 나는 그것이 C ++ 0x에있을 것이라는 것을 안다.



8
문자열 리터럴 : 어디로 가나 요?
문자열 리터럴이 할당 / 저장되는 위치에 관심이 있습니다. 나는 하나의 흥미로운 답을 찾았어요 여기에서 말하는 : 문자열 인라인을 정의하면 실제로 프로그램 자체에 데이터가 포함되며 변경할 수 없습니다 (일부 컴파일러는 스마트 트릭으로 허용하지만 귀찮게하지는 않습니다). 그러나 C ++과 관련이 있으며 귀찮게하지 말라고 언급하지 않았습니다. 귀찮게 해요. = D 그래서 내 질문은 …

5
파이썬의 Windows 경로
예를 들어 Windows 디렉토리를 나타내는 가장 좋은 방법은 무엇입니까 "C:\meshes\as"? 스크립트를 수정하려고 시도했지만 디렉토리를 올바르게 가져올 수 없어서 작동하지 않습니다. '\'이스케이프 문자로 작동 한다고 가정 합니까?

6
컴파일 타임에 C 문자열의 길이를 계산합니다. 이것은 정말로 constexpr입니까?
컴파일 타임에 문자열 리터럴의 길이를 계산하려고합니다. 이를 위해 다음 코드를 사용하고 있습니다. #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } 모든 것이 예상대로 작동하고 프로그램은 4와 8을 인쇄합니다. clang에 의해 생성 …

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!"; } } 누구든지 …

4
매크로 인수를 문자열 리터럴로 사용하는 방법은 무엇입니까?
변수 이름의 문자열 리터럴 표현과 변수 자체를 함수로 전달하는 매크로를 작성하는 방법을 알아 내려고합니다. 예를 들어 다음과 같은 기능이 있습니다. void do_something(string name, int val) { cout << name << ": " << val << endl; } 이 작업을 수행 할 수 있도록 매크로를 작성하고 싶습니다. int my_val = 5; …


9
C에서 문자열 리터럴의 "수명"
다음 함수에서 반환 된 포인터에 액세스 할 수 없습니까? char *foo(int rc) { switch (rc) { case 1: return("one"); case 2: return("two"); default: return("whatever"); } } 따라서 C / C ++에서 지역 변수의 수명은 실제로 함수 내에서만 가능합니다. 즉, char* foo(int)종료 후 반환되는 포인터는 더 이상 아무것도 의미하지 않습니다. 지역 …



4
문자형 배열을 문자열로 어떻게 사용해야합니까?
C의 문자열은 문자 배열이라는 것을 알고 있습니다. 그래서 다음 코드를 시도했지만 가비지 출력 또는 프로그램 충돌과 같은 이상한 결과가 나타납니다. #include <stdio.h> int main (void) { char str [5] = "hello"; puts(str); } 왜 작동하지 않습니까? 로 깔끔하게 컴파일됩니다 gcc -std=c17 -pedantic-errors -Wall -Wextra. 참고 : 이 게시물은 문자열을 선언 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.