Coding
-
qt에서 c++ .pro 파일 만들기Coding/QT 2018. 9. 30. 09:06
우리가 리눅스상에서 개발이던지 분석이던지 진행하다보면 자신의 코드 뿐아니라다른사람의 코드를 보게되는 경우가 발생한다. 하지만 그 사용자가 qt를 사용하는 사람이 아니라면 qt로 열 수가 없다.(물론 .pro파일을 생성해주면 됨) 짧고 파일 수가 적은 코드라면 손쉽게 만들어 낼 수 있겠지만 코드파일의 양이 많다면 일일이 만들어주는 것은 굉장히 시간낭비스러운 작업이다. 이번 포스팅에는 이러한 수고를 들어주는 방법에 대한 설명이다. 내가 알고 있는 방법은 총 3가지로 간단하다. 1. 위에서 설명한대로 일일이 .pro파일을 작성해준다. 2. project 에서 import project 를 이용한다. 여기서 import Existing Project를 선택!! Project name은 원하는대로 지정해준다. 이..
-
C++ auto 키워드 사용하기Coding/Tip !! 2018. 9. 19. 14:59
auto 키워드선언 지정자인 auto 키워드는 초기화시에 초기화 값에 맞춰 자동으로 자료형을 판단하는 기능을 가진다. 해당 키워드를 사용할 때의 주의점은 선언만하고 초기화를 하지않으면 사용이 불가능하다.-> 이유는 당연히 초기화된 값을 기준으로 자료형을 선택하기 때문이다. 1234567891011#include int main(){ auto a = true; auto b = 1; auto c = 'c'; auto d = "hello world"; auto e; (x) return 0;} 이건 그냥 Tip인데 출력 시에 자료형을 나타내고 싶을경우 typeid(변수이름).name( ) 을 해주면 자료형이 출력된다. auto 사용 예시123456789101112131415161718192021222324252..
-
c++ 정적 배열사용 arrayCoding/Tip !! 2018. 9. 19. 14:18
보통 우리는 배열을 사용 할 때 123456#include int main(){ int arr[5] = { 1, 2, 3, 4, 5};} d처럼 선언한다. 하지만 좀 더 쉽고 다양하게 사용할 수 있도록 선언하는 방법이 있다.1234567#include #include int main(){ std::array hello_Arr = { 1, 2, 3, 4, 5};cout 내부에 배열의 크기를 나타내는 숫자가 있어야한다는 점이다.-> 보통 배열은 int arr[] ={ 1,2,3,4,5 } 가 가능하지만 위의 표현은 그런것이 불가능하다는 점이다. 이런 식으로 선언할 경우 다양한 기능을 이용할 수 있는데 대표적으로 배열에 대한 값을 sort할 수 있다.1234567891011#include #include #i..
-
함수의 인자 사용 시, 레퍼런스 이용하기!Coding/Tip !! 2018. 9. 19. 14:03
함수의 인자 사용 시, 레퍼런스 이용하기! 함수의 인자로 값을 넣어주면 해당 함수를 사용할 때 그 인자값들이 복사가 된다. 예를 들어 func(int a[1000]) {} 이라는 함수가 있다면 해당 함수가 호출 될 경우 1000이라는 크기를 가진 배열이 복사가 된다. 1000이지만 이것보다 더 크기가 큰 인자인 경우 시간이 더 걸릴 수 밖에 없다. 이 때 해결법은 포인터를 사용해도 좋지만 래퍼런스 &를 쓰면 참 편하다~ 만약 해당 함수에서 인자값이 변하길 원치않다면 const를 앞에 붙여서 수정을 막을 수도 있다.
-
foo 함수Coding/Tip !! 2018. 9. 19. 13:32
void foo(){} 와 void foo(void) {}는 언어마다 다르게 해석된다. c에서 foo 함수 void foo() : 받을 인자의 타입과 수가 정해지지 않음void foo(void) : 함수 foo는 인자를 받지 않음 c++에서 foo 함수void foo() : foo는 아무런 인자를 받지 않는다.void foo(void) : foo는 아무런 인자를 받지 않는다. https://stackoverflow.com/questions/2750316/this-vs-this-in-c
-
포인터와 역참조Coding/Tip !! 2018. 9. 19. 05:12
포인터 * * 란 역참조(Dereference)연산자라는 의미이다. -> 포인터 변수에는 메모리 주소가 저장되는데 이 메모리주소의 값을 가져올때 사용하는 것이 바로 역참조 연산자(*)이다. 1234567int *pointer; // 포인터 변수 선언 int test =1; // test에 1을 저장 pointer = &test; // test의 메모리 주소를 포인터 변수에 저장한다는 의미 *pointer = 7; // 역참조 연산자를 의미함으로 test의 메모리 주소에 접근하여 7을 저장함 이 경우cout