개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 소스
  • install
  • Java
  • Python
  • 라즈베리 파이
  • C++
  • 설명
  • 예제
  • error
  • CODE
  • 에러
  • C
  • 설치
  • 우분투
  • 코드
  • 개발
  • 방법
  • ubuntu
  • Example
  • GIT

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

소프트웨어/c++

함수의 괄호 뒤에 const를 넣는 이유에 대해서

2014. 12. 17. 11:14

여기 저기 검색을 해보니 함수 괄호 뒤에 const를 넣는 의미는, 멤버 변수의 값을 변경하지 않는다. 라는 의미라고 하더라구요

(그리고 함수 괄호 뒤에 const를 넣는 함수는 멤벼함수일때만 가능하다고 하네요.)


간단한 실험을 준비해봤습니다.



1.  아래의 코드는 잘 실행되는 코드입니다.



결과:

$ g++ main.cpp && ./a.out

$ data : hello


2. 여기의 set함수에 const를 붙여보겠습니다.



결과 : 
hklee@hklee:~/Dropbox/cpp/functionConst$ g++ main.cpp && ./a.out
main.cpp: In member function ‘void Tester::setData(char*) const’:
main.cpp:11:29: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
         strcpy(m_data, input);
                             ^
In file included from /usr/include/c++/4.8/cstring:42:0,
                 from main.cpp:2:
/usr/include/string.h:129:14: error:   initializing argument 1 of ‘char* strcpy(char*, const char*)’ [-fpermissive]
 extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
              ^
에러가 떴네요~!
아래에 위에 error 부분에 보면 const char* 을 char*으로 바꿀 수 없다고 나오는데, 이게 함수 괄호 뒤에 넣는 const의 효과인것 같네요.



마무리 한평으론,

const의 용법을 모두 알게 되었으니 가독성있고 안전성있게 코딩을 할 수 있겠다.

입니다.



감사합니다.

저작자표시 비영리 (새창열림)

'소프트웨어 > c++' 카테고리의 다른 글

클래스에 클래스를 저장하는 방법 3가지.  (0) 2015.02.02
상속에 대해서  (0) 2015.01.14
[펌] C 프로그래밍 문자열 비교 함수 (strcmp())  (0) 2014.12.16
printf에서 %d %09d %19d의 차이에 대해서  (0) 2014.11.18
[c++] snprintf, sprintf 예제  (0) 2014.11.18
    '소프트웨어/c++' 카테고리의 다른 글
    • 클래스에 클래스를 저장하는 방법 3가지.
    • 상속에 대해서
    • [펌] C 프로그래밍 문자열 비교 함수 (strcmp())
    • printf에서 %d %09d %19d의 차이에 대해서
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바