본문 바로가기

프로그래밍28

명명된 매개변수와 선택적 매개변수 Visual C# 2010 부터 도입된 것으로 생각되는 기능.C# 4.0부터 사용 가능하다고 하는 것 같다. 명명된(named) 매개변수1void fn(int a, int b) {}cs위와 같은 함수가 있을 경우, 함수를 호출 할 때,1fn(a: 1, b: 2);cs위와 같이 사용 할 수 있는 것이다. 주의 할 점은 매개변수가 여러개인 경우,순서가 중요한데,1fn(a: 1, 2);cs위와 같이 사용하면 에러가 난다고.. #뭔가 보기 좋아보이긴 하지만... 편하진 않은 것 같다. 선택적(optional) 매개변수함수의 호출시 매개변 수에 미리 기본값을 정해 놓음으로 해당 매개변수의 값을 입력하지 않아도 되게 한 것. 1void fn(int a=0) {}cs위와 같은 함수가 존재한다면, 매개변수를 넣지 않고.. 2015. 4. 10.
StringBuilder System.Text.StringBuilder String은 지정된 문자열을 내부적으로 변경 할 수는 없다.StringBuilder는 내부적으로 문자열 변경이 가능하다. 주요 메서드 Append - 저장하고있는 값 뒤에 매개변수의 값을 문자열을 추가 한다. (Bool, Byte, Char, Char[], Decimal, Double, int16, int32, int64 등) - 즉, Boolean 값이 매개변수로 들어가면, True 혹은 False 라는 문자열로 추가 한다.- 문자를 n 번 추가 할 수 있다. ex) sb.Append('a', n); 123StringBuilder sb = new StringBuilder("Hello");sb.Append(" World");Console.WriteLine(.. 2015. 4. 5.
랜덤 함수 srand((unsigned)time(NULL));​// 시간에 따라 랜덤 함수의 패턴 값을 변경함. 단 time.h 를 include 해야 함.rand()%10​;// 나머지 연산을 사용했기 때문에 어떤 숫자가 나오든 0~9 까지로 나옴. 2015. 1. 27.
switch문 case내 변수 초기화시 에러 switch case 문 사용시 case에서 변수를 선언하여 사용 할 경우.case n: 이후에 스코프(중괄호)를 사용하지 않으면 컴파일 에러가 난다. ex) 에러나는 코드switch ( var ){ case 1: int a = 0; break;} ex) 해결을 위해서 중괄호 사용switch ( var ){ case 1: { int a = 0; break; }} 2015. 1. 27.
#pragma 지시자 ( once, pack, warning ) 1. pragma 지시자기본형식 : pragma 토큰문자열플랫폼별로 다른 기능에 대한 지시사항을 컴파일러에게 전달하는 방법.#문자로 시작하지만 전처리 명령이 아니라 컴파일러 지시자이다.플랫폼에 종속적인 기능에 대한 지시자이므로 컴파일러에 대해 종속적이다.컴파일러는 #pragma 다음의 토큰을 인식할 수 없으면 단순히 무시하고 계속 컴파일한다. 2. once기본형식 : #pragma once사용용도 : 헤더 파일 선두에 써 두면 컴파일러는 중복된 헤더 파일을 한번만 실행한다. 3. pack기본형식 : #pragma pack(정렬 바이트수)사용용도 : pack 지시자는 이후부터 선언된 구조체의 정렬 방식을 지정한다. 4. warning기본형식 : #pragma warning(경고제어문:경고번호)사용용도 : .. 2015. 1. 20.
inline 함수 inline 함수는 함수가 호출 되는 곳에 해당 함수 내부의 실행 코드를 통째로 호출한 곳으로 복사하여 사용하게 한다.* 개념이 #define 과 유사하다 논리적 작동 속도가 일반 함수에 비해 빠르다. 컴파일시 최종 파일의 크기가 늘어난다는 단점이 있다. inline 함수는 명시적인 방법과 묵시적인 방법이 있다.명시적인 방법은 inline으로 선언해야만 그 함수를 inline 함수로 사용하며,묵시적 방법은 헤더에 함수를 선언하고 내용을 같이 써줄 경우 자동으로 inline 함수가 된다고 한다. ?123inline void TestFn() { cout 2015. 1. 20.
320x100