기록은 기억을 이기고 시간보다 오래 남는다.
반응형

#include 2

[c++] fetch_add() 함수

fetch_add()는 원자적(atomic) 연산 중 하나입니다. C++11에서 추가된 C++ 표준 라이브러리의 std::atomic 클래스의 멤버 함수 중 하나로, 특정 변수에 대한 원자적인 덧셈 연산을 수행합니다. fetch_add()는 특정 변수의 값을 가져온 후에 해당 변수에 인자로 전달된 값을 더하고, 그 결과를 반환합니다.  이 과정에서 해당 변수는 다른 스레드에 의해 변경되지 않는 원자적인 연산이 보장됩니다. 예를 들어, 다음 코드는 x 변수에 대해 fetch_add() 함수를 사용하여 1을 더하는 코드입니다. 위 코드는 x 변수의 값을 1 증가시키고, 그 결과를 result 변수에 저장합니다.fetch_add() 함수는 원자적 연산이므로 다른 스레드가 x 변수를 변경하더라도결과에는 영향을 ..

[C/C++] Stack in c++ (기본 사용법, 예제)

안녕하세요 준준 입니다. 오늘은 C++ STL 중 하나인Stack(스택)에 대해 알아보도록 하겠습니다.What is Stack?스택의 사전적 의미로는 '쌓다', '더미'입니다. 상자에 물건을 쌓아 올리듯 데이터를 쌓는 자료 구조라고 할 수 있습니다. 스택은 대표적인 LIFO (Last In First Out) 구조입니다.따라서 제일 마지막에 넣은 데이터가 가장 먼저 빠져나가는 것을 알 수 있습니다.쉬운 예시로 쌓여 있는 그릇을 생각하시면 쉽습니다. 상식적으로 그릇은 쌓을 때 맨 위에서부터 쌓고 꺼낼 때는 맨 위에부터 꺼내곤 합니다.따라서 가장 최근에 넣은 그릇을 가장 빨리 쓰게 됩니다.이해가 조금 되셨을 까요?Stack의 특징1. 먼저 들어간 자료가 나중에 나오는 구조2. 시스템 해킹에서 버퍼오버플로우 ..

반응형