본문 바로가기
반응형

전체 글104

[Rust] 슬라이스 vs 슬라이스 레퍼런스 슬라이스는 벡터(Vector), 문자열(String), 배열(Array) 등과 같은 시퀀스 데이터를 다루는 도구로써, 데이터의 일부분을 안전하게 조작하고 공유할 수 있게 해 줍니다. 슬라이스는 무엇인지 알아보도록 합시다. 추가로 슬라이스 레퍼런스에 대해서도 알아보도록 합시다. 슬라이스 슬라이스는 데이터의 일부분에 대한 참조로써, 데이터의 복사본을 생성하지 않고 해당 데이터를 조작할 수 있게 합니다. 슬라이스는 시작 인덱스와 끝 인덱스를 사용하여 데이터의 일부분을 지정하며, 다음과 같은 형식으로 선언됩니다. [T] 슬라이스 생성과 사용 슬라이스 생성과 사용 방법은 아래 코드를 참고하시길 바랍니다. 보시다시피 벡터, 문자열, 배열 등을 선언한 뒤, 시작 인덱스와 끝 인덱스를 지정해서 슬라이스를 만듭니다. 그.. 2023. 10. 8.
[Rust] 벡터(Vector) Rust 배열에 대해서 배웠었는데, 기억하시나요? 혹시 기억이 안 나신다면 아래 링크에서 보고 오시는 것을 추천드립니다. [Rust] 배열(array) Rust에서 배열은 C/C++에서 보았던 배열과 비슷합니다. 하지만 매번 그랬듯이 다른 점도 있기 때문에 잘 비교하면서 알아보도록 합시다. 배열(array) Rust에서 배열은 고정된 크기의 요소를 저장하는 77monkey.tistory.com 배열에 이어서 벡터에 대해서도 알아보도록 합시다. 벡터(Vector) Rust에서 벡터는 std::vec::Vec 모듈을 통해서 사용할 수 있는 동적 배열입니다. 그렇기 때문에 메모리를 할당하고 해제할 수 있으며 요소를 추가하거나 제거할 수 있습니다. 이를 통해서 크기를 동적으로 조절할 수 있습니다. 배열과는 다르.. 2023. 10. 5.
[Rust] 배열(array) Rust에서 배열은 C/C++에서 보았던 배열과 비슷합니다. 하지만 매번 그랬듯이 다른 점도 있기 때문에 잘 비교하면서 알아보도록 합시다. 배열(array) Rust에서 배열은 고정된 크기의 요소를 저장하는 데이터 구조입니다. 배열은 한 번 생성되면 크기를 변경할 수 없으며, 요소의 데이터 타입은 동일해야 합니다. 요소의 데이터 타입을 다르게 하고 싶다면 [Rust] 튜플(tuple)을 사용하시면 됩니다. Rust의 배열은 C/C++과 동일하게 스택에 저장되며 고정된 크기로 선언됩니다. 고정된 크기가 아니라면 벡터를 사용하셔야 합니다. 벡터는 추후에 포스팅하도록 하겠습니다. 배열 선언 배열을 선언할 때에는 항상 초기화를 해줘야 합니다. Rust에서는 초기화되지 않은 배열을 사용할 수 없기 때문입니다. 코.. 2023. 10. 2.
[Rust] 튜플(tuple) C/C++만 하신 분들에게는 튜플이 생소할 수 있을 것 같습니다. 배열과 같다고 생각하실 수도 있는데, 엄밀히 말하면 튜플은 배열과는 다릅니다. 튜플에 대해서 좀 더 알아보도록 합시다. 튜플(tuple) 튜플(tuple)은 다양한 타입을 담습니다. 추후에 포스팅을 하겠지만 배열은 한 가지 타입을 담을 수 있습니다. 이런 점에서 차이가 발생합니다. 그렇다면 튜플에는 같은 타입을 담을 수 없는지 궁금할 수 있는데, 같은 타입을 담을 수 있습니다. 튜플 선언 튜플은 () 사이에 데이터 타입을 넣어주고 쉼표(,)를 통해서 구별하여 선언합니다. 또한 튜플 변수 이름 뒤에 온점(.)을 쓰고 숫자를 씀으로써 튜플의 요소를 접근할 수 있습니다. 이때 접근 상수는 0부터 시작된다는 점 잊지 마시길 바랍니다. fn mai.. 2023. 9. 28.
[Rust] bool 타입 Rust에서 bool 타입은 아마 가장 간단한 타입이지 않을까 싶습니다. C/C++에서 접했던 bool 타입과도 유사하기 때문입니다. 하지만 조금 다른 점도 있기 때문에 Rust에서의 bool 타입을 알아보도록 하겠습니다. bool 타입 bool 타입은 true 또는 false 값만 가질 수 있습니다. 이러한 true와 false 값은 조건문 또는 제어문에서 중요합니다. 그 이유는 조건문 또는 제어문의 조건식의 결과는 bool 타입인 true 또는 false 값을 가져야 하기 때문입니다. bool 타입은 또한 true 또는 false 값을 가져서 1bit로 충분히 표현이 가능하지만, Rust에서는 1 Byte를 할당합니다. bool 선언 bool 선언과 할당은 [Rust] 변수 선언에서 했던 것과 유사하.. 2023. 9. 27.
[C/C++] 연산자 우선순위 드디어 연산자에 대해서 다 다뤄봤습니다. 그럼 이제 연산자 우선순위에 대해서 알아보도록 합시다. 연산자 우선순위는 정말 중요합니다. 연산의 결과가 예상한 것과 다르게 된다면 해당 프로그램은 제대로 동작할 수 없기 때문입니다. 연산자 우선순위 연산자 우선순위는 다양한 연산자가 표현식 내에서 어떤 순서로 계산되어야 하는지 결정하는 규칙입니다. 연산자 우선순위에 따라 연산자를 사용할 때 괄호를 추가하여 원하는 계산 순서를 지정할 수 있는데, 개인적으로 연산자 우선순위가 헷갈릴 때에는 괄호를 많이 씁니다. 아래의 연산자 우선순위 표를 보시면 숫자가 작을수록 먼저 연산이 됩니다. 연산자 우선순위 예시 아래 코드의 결과는 어떻게 될까요? 결과를 예측해 보세요. 이전에 배웠던 short circuit을 생각해서 va.. 2023. 9. 18.
반응형