연산자
[Python] 연산자
연산자피연산자를 이용해 계산을 하는 기호산술 연산자 : +, -, *, /, %, //, **할당 연산자 : =, +=, -=, *=, /=, %=, //=비교 연산자 : >, >=, 논리 연산자 : and, or, not정수, 실수의 산술 연산에서는 기본적으로 범위가 큰 자료형으로 형변환된다.산술 연산자덧셈)정수, 실수 덧셈num1 = 9; num2 = 3result = num1 + num2print(f'result : {result}')fNum1 = 1.3; fNum2 = 3.14result = fNum1 + fNum2print(f'result : {result}')result = fNum1 + num1print(f'result : {result}')문자(열) 덧셈 : 각 문자를 연결(나열)str1 ..
[C] 복합 대입 / 증감 연산자
복합 대입 연산자와 증감 연산자는 연산식을 간단하게 표현할 수 있는 특별한 연산자다. #include int main () { int a = 3, b = 2; printf ( "%d %d \n", ++a, b–); a + 1; b -= 1; printf ( "%d %d \n", a, b); } 4행에서 정수형 변수 a와 b를 선언하고, 각각 3과 2로 초기화한다. 5행에서 a의 값을 1만큼 증가시키는 연산자 ‘++’에 의해 a의 값이 4가 된다. 그러나 b의 값을 1만큼 감소시키는 연산자’–‘는 다음 번 b의 값을 이용할 때까지 연산을 보류시킨다. 6행에서 ‘a+=1’은 a값을 1만큼 증가시키는 ‘a=a+1’을 줄인 표현이며, ‘b-=1’도 b 값을 1만큼 감소시키는 ‘b=b-1’을 줄인 표현이다. 따라..
[C++] *와 *& 연산자의 차이
int *&x int *y 의 차이 x는 int 포인터에 대한 레퍼런스 타입 y는 int 포인터 타입 아래 func 함수 파라미터로 넘길 시 y는 복사본을 받을거고 x는 포인터에 대한 주소를 받게 된다. 이거는 y는 스코프 벗어 날 시 값 변화가 없지만 x는 변경된다 void func(int* p, int*& pr) { p++; pr++; } int main() { int a[2]; int* b = &a[0]; int* c = &a[0]; std::cout
[JS] '==' 와 '===' 는 다르다
무엇이 다른가? 저는 자바 언어를 먼저 배운 입장에서 자바스크립트에 깊게 노출되지 않았기 때문에 충격을 받았다. 비록 자바스크립트의 어떤 기능, 사건 처리, 그리고 어떤 jQuery 속임수에 상당히 익숙했지만, 자바스크립트에 대한 미묘한 세부 사항들을 알지 못했다. 다시 마음을 잡고 웹 개발의 기본을 공부하기로 마음 먹은 저는 '==' 와 '===' 연산자의 차이를 알지 못한다고 스스로 말하면서 올바른 생각을 했다. 정답부터 말하자면, '=='와 '===' 연산자의 주된 차이점은, 예를 들어, 숫자를 숫자 리터럴과 비교하면, '=='는 그것을 허용하지만, '===' 두 변수의 형식은 동일하지 않은 경우, 값뿐만 아니라 두 변수의 유형도 확인하므로, 허용하지 않는 것이다. 즉, '==='는 'false'으..
[JS] 연산자 우선순위
연산자들은 한 명령에서 쓰일 때, 서로간에 우선순위를 가지고 연산됩니다. 수학 연산처럼 괄호가 가장 높은 우선 순위를 갖고, 증감, 산술, 비교, 논리, 대입, 비트 순서로 우선순위를 갖습니다.
C++ 함수 객체 (Functor) / () 연산자 오버로딩
추가 글 : 함수 객체 (Fuction Object) 템플릿 / 람다식 — A Game Client Programmer (tistory.com) 함수 객체 (Fuction Object) 템플릿 / 람다식 장점 : 다른 멤버 변수와 멤버 함수를 가질 수 있고 일반 함수에서 하지 못하는 지원을 받을 수 있습니다. 함수 객체의 서명이 같더라도 객체 타입이 다르면 서로 전혀 다른 타입으로 인식합니다 devshovelinglife.tistory.com 콜백 메커니즘 개념을 설명하기 위해선 '서버 코드'와 '클라이언트 코드'의 개념이 필요하다. 서버 코드: 기능이나 서비스를 제공하는 코드 클라이언트 코드: '서버 코드'가 제공해주는 기능이나 서비스를 사용하는 코드 Print() 함수는 출력 기능을 제공하는 '서버 ..
C/C++ 연산자(Operator) 정리표 (비트, 논리, 산술 +=&^<<>>%~!)
논리 연산자(Logical operator) 연산자(Operator) 의미(Description) 예제(Example) && 모두 같으면 true를 return (a-3) && b || 하나만 true 면 true를 return a >3 || b > 오른쪽으로 비트 이동, 빈 곳은 0 x>>5
C++ 연산자 오버로딩
좌측 값 그대로 변경된 상태에서 반환 시 불필요한 복사 방지하기 위해 무조건 & 레퍼런스로 반환할 것. #include #include #include #include using namespace std; class Test; bool SAFETY_CHECK(Test& t) { if (&t == NULL) { cout
C# ?? 및 ??=, ?. 연산자
C# 코드를 작성하다보면 null 체크를 해야하는 경우가 꽤 많다. if 문을 사용해서 null 체크를 하다보면 코드가 길어지고 가독성이 떨어지게된다 그래서 C# 에서는 간단한 연산자로 null 체크를 할 수 있는 방법을 제공한다. 연산자 ?. 및 ?[] 피연산자가 null 이 아닌 것으로 평가되었을 때만 멤버 액세스 ?. 또는 요소 액세스 ?[] 연산을 피연산자에게 적용하며, 그렇지 않으면 null 을 반환한다. a가 null로 평가되면 a?.x 또는 a?[x]의 결과는 null이다. a가 null이 아닌 것으로 평가되면 a?.x 또는 a?[x]의 결과는 각각 a.x또는 a[x]의 결과와 같다. Null 조건부 연산자는 단락 연산자이다. 즉 조건부 멤버나 요소 액세스 작업의 한 체인의 작업에서 null..