본문 바로가기
728x90

뚱이50

[OS] 프로세스 동기화 Cooperating Process 서로 영향을 주거나 받는 관계의 process들 공유된 Concurrent하게 접근할 수 있게 되면 Data Inconsistency 문제가 발생한다. Cooperating Process를 사용하는 경우 서로 Process에 접근하고 영향을 줄 수 있기 때문에 Data Inconsistency가 발생할 수 있다. 이것을 해결하는 방식으로 사실 Process들이 있으면 서로의 순서를 침범하지 않고 순서대로 수행되게 만들어 주면 된다. 이렇게 수행되면 같은 데이터에 동시에 접근하지 않게 되므로 data integrity문제가 발생하지 않을 것이다. (integrity of data - 데이터의 무결성을 의미한다. 정확하고 일관적인 데이터 값을 유지하는 성질.) Data I.. 2021. 9. 19.
[C++] 인라인(inline) 함수 인라인(inline) 함수는 무엇일까 inline함수는 in line, 프로그램 코드 라인 안에 있는 함수라는 뜻이다. 아래 함수를 한번 보자. #include using namespace std; inline int ADD(int a) { return a+1; } int main() { cout 2021. 7. 6.
[C++] 매개변수 디폴트 값 (Default Value) C++에서는 함수에서 Default값이라는 것을 설정할 수 있다. int func(int a=1)//함수 호출 시 인자를 전달하지 않으면 1이 전달된 것으로 인지 { return a+1; } 따라서 이런 경우는 아래의 경우 같은 함수가 불린 것처럼 동작하게 된다. func();//1이 전달된 것과 같다. func(1); 그렇다면 아래와 같은 경우는 어떻게 동작할까? int func(int a, int b=1, int c=2) { a = a+b+c; return a; } func(0); //func(0,1,2) func(0,5); //func(0,5,2) func(0,5,5); //func(0,5,5) 위처럼 매개변수의 디폴트 값이 설정된 경우 선언된 매개변수보다 적은 매개변수를 넣고도 함수 수행이 가능하.. 2021. 7. 6.
[C++] 함수 오버로딩 (Function Overloading) 함수 오버로딩(Function Overloading이란?) C언어에서는 동일한 이름의 함수가 정의되면 Complie error를 발생시키게 된다. int Func_A(int a) { a = a + 1; return a; } int Func_A(int a, int b) { a = a + b; return a; } 하지만 위와 같은 함수의 경우 두가지가 모두 선언되어도 문제가 없을 것이다. 역할이 다르기 때문이다. int main() { Func_A(10); //Func_A(int a) 가 호출된다. Func_A(10, 20);//Func_A(int a, int b) 가 호출된다. return 0; } 위처럼 구분되어 사용될 수 있기 때문에 같은 이름의 함수를 선언하여 Parameter를 다르게 선언할 수 .. 2021. 7. 6.
반응형