std::rand / std::srand / std::time

2024. 12. 26. 19:49·내배캠/C++
목차
  1. std::rand()
  2.  
  3. std::srand()
  4. std::time

 

#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    // 현재 시간을 시드 값으로 초기화
    srand(time(0));

    int RandomNumber[10];

    // 0~4 까지의 숫자 중 랜덤으로 배열에 값 넣기
    for (int i = 0; i < 10; i++)
    {
        RandomNumber[i] = rand() % 5;
    }


    return 0;
}

std::rand()

  • C 표준 라이브러리의 난수 생성 함수이다. <cstdlib> 헤더에 정의되어 있다.
  • std::srand에서 설정된 시드 값을 기반으로 난수를 생성함으로, std::srand를 먼저 호출해야만 매번 다른 난수를 생성할 수 있다.
  • 0부터 RAND_MAX(보통 32767) 사이의 정수를 반환한다.

 

std::srand()

  • std::rand와 마찬가지로 <cstdlib> 헤더에 정의되어 있다.
  • 난수 생성기를 초기화 하는 "시드(seed)" 값을 설정한다. 다시 말해 시드란 난수 생성기의 초기 값을 의미한다.
  • 난수 생성기는 시드 값에 따라 동일한 난수 시퀀스를 생성한다. 시드를 설정하지 않으면 기본 값(보통 1)으로 고정되며, 프로그램 실행 시에 항상 같은 난수를 생성하게 된다.
  • 일반적으로 std::srand(time(0))을 사용해서 현재 시간을 기반으로 시드를 설정하면 실행할 때마다 다른 난수를 생성할 수 있게 된다.

 

std::time

  • C++ 표준 라이브러리의 시간 함수로, 현재 시간을 초 단위로 정수형 타입(time_t)으로 반환한다. <ctime>에 정의.
  • time(0)의 의미: 인수를 0 또는 null로 전달하면, 현재 시간의 초 단위 값을 반환한다. 
  • std::srand의 시드 값으로 활용.

 

'내배캠 > C++' 카테고리의 다른 글

비트 연산자  (0) 2024.12.30
객체 지향적 설계 연습  (0) 2024.12.27
std::fixed / std::setprecision  (0) 2024.12.26
std::cin::fail / std::cin::clear / std::cin::ignore  (0) 2024.12.26
std::transform  (1) 2024.12.26
  1. std::rand()
  2.  
  3. std::srand()
  4. std::time
'내배캠/C++' 카테고리의 다른 글
  • 비트 연산자
  • 객체 지향적 설계 연습
  • std::fixed / std::setprecision
  • std::cin::fail / std::cin::clear / std::cin::ignore
동그래님
동그래님
  • 동그래님
    개발자 동그래
    동그래님
  • 전체
    오늘
    어제
    • 분류 전체보기 (210)
      • 공부 (51)
        • Code Cata (50)
      • 내배캠 (151)
        • TIL (50)
        • C++ (37)
        • Unreal Engine (48)
        • GAS(Gameplay Ability System.. (16)
      • Project (7)
        • Gunfire Paragon (5)
        • Arena Fighters (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    동그래님
    std::rand / std::srand / std::time
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.