zoukankan      html  css  js  c++  java
  • C++学习笔记第一天:基础

    前言

    N年前学的C,经过VB、JAVA、JS、C#等后辈的轮番蹂躏,当初学的那点儿东西早就还给老师了

    现在有了在桌面端实现 Native + Web 的初衷,需要利用CEF开源组件来封装这个Native

    所以,还是要对C++有个基本的认识,否则连Debug都找不到入口

    开始

    首先,菜鸟教程走起:http://www.runoob.com/cplusplus/cpp-tutorial.html

    从头开始:基本语法、数据类型、变量类型、各种运算符、循环语句、分支语句。。。一路学习

    教程里写的很细了,没必要再搬过来一次,只挑自己认为比较特殊的点摘出来,重点记忆

    基本数据类型

    类型关键字
    布尔型 bool
    字符型 char
    整型 int
    单精度浮点型 float
    双精度浮点型 double
    无类型 void
    宽字符型 wchar_t

    一些基本类型可以使用一个或多个类型修饰符进行修饰:

    • signed
    • unsigned
    • short
    • long

    给类型起名字

    这个挺好玩的,可以用 typedef 为一个已有的类型取一个新的名字。

    例如,下面的语句会告诉编译器,feet 是 int 的另一个名称:

    typedef int feet;
    feet distance; // 跟 int distance 的作用相同

    枚举类型

    定义枚举的一般形式:

    enum 枚举名{
         标识符[=整型常数],
         标识符[=整型常数],
    ...
        标识符[=整型常数]
    } 枚举变量;

    例如:

    enum color { red, green, blue } c;
    c = blue;

    定义常量

    在 C++ 中,有两种简单的定义常量的方式:

    1、使用 #define 预处理器

    #define LENGTH 10   
    #define WIDTH  5
    #define NEWLINE ' '

    2、使用 const 关键字

    const int  LENGTH = 10;
    const int  WIDTH  = 5;
    const char NEWLINE = ' ';

    数组

    double balance[10]; //声明数组

    double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}; //声明并初始化数组

    字符串

    1、C风格字符串

    char greeting[] = "Hello"; //来自:char greeting[6] = {'H', 'e', 'l', 'l', 'o', ''};

    2、C++ 引入的 string 类类型

    #include <string>

    string str1 = "Hello";
    string str2 = "World";

    一些疑惑

    1、C++的namespace跟JAVA的package根本不是一回事,需要详细了解,尤其是那个官方的std;

    2、头文件(*.h)和源文件(*.cpp)的模式还不太理解,需要深入学习;

    3、extern:在声明变量或函数时的一个关键字,一般用在头文件(*.h)里,意思是其声明的函数或变量可以在全局使用。具体含义暂不理解,挂起待查。

    下一步

    除了上面的三点疑惑以外,下一步就要学习C++的杀手锏 -- 指针与引用了!

    总结

    通过第一天的初步了解,个人感觉,相比于JAVA的有迹可循,C++实在顽固了些,另外VS用起来也感觉没有Eclipse顺手,还需要慢慢习惯

    对我这样更偏重于Web前端的人来说,实在不喜欢这种体验,但既然开始了就要坚持下去,期待下一天吧

  • 相关阅读:
    centos7 python3.5中引入sqlite3
    转载nginx+uwsgi+django
    浮点数计算精度丢失问题#W01
    五大JavaScript 自动化测试框架
    deepin 安装Samba并设置为开机启动
    搭建macaca android环境
    open-MAT 安装部署
    基于Jmeter BackEnd+InfluxDB+Grafana实现性能指标实时可视监控
    使用开源libimobiledevice查看iphone信息
    Java 开发者必备测试框架
  • 原文地址:https://www.cnblogs.com/netWild/p/8290571.html
Copyright © 2011-2022 走看看