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 '\n'
2、使用 const 关键字
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n';
数组
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', '\0'};
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前端的人来说,实在不喜欢这种体验,但既然开始了就要坚持下去,期待下一天吧
C++学习笔记第一天:基础的更多相关文章
- 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识
写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- 卷积神经网络(CNN)学习笔记1:基础入门
卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01 | In Machine Learning | 9 Comments | 14935 Vie ...
- 「学习笔记」字符串基础:Hash,KMP与Trie
「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...
- 【JAVAWEB学习笔记】06_jQuery基础
接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...
- Django学习笔记---第一天
Django学习笔记 1.Django的安装 //如果不指定版本号,默认安装最新版 pip3 install django==1.11.8 关于Django的版本和python的版本依赖关系,请看下图 ...
- HTML学习笔记之标签基础
目录 1.基本标签 2.链接 3.图像 4.表格 5.列表 6.块与布局 1.基本标签 (1)标题与段落 标签 <h1> ~ <h6> 分别用于定义一至六级标题,标签 < ...
随机推荐
- underscore.js 源码阅读 准备
本次阅读是初次阅读源码,参考了以下几篇文章: https://github.com/hanzichi?language=javascript&page=5&tab=stars http ...
- scrapy_数据收集
什么是数据收集器? 数据以key/value形式存在,收集一些状态,简化数据收集的状态 计算到底发送了多少request等等统计信息 如何对404页面进行设置? 通过response.status等于 ...
- scrapy_简介页面和详情页面
如何对提取的URL进行限定? 往上找id和class属性值,进行多次层级选择,进行内容限定 如何实现获取主页所有urls,然后交给scrapy下载后并解析详情页面,返回结果?(文章简介页面和文章详细页 ...
- java常用类--字符串
String import java.io.IOException; import java.util.Arrays; public class Linkin { public static void ...
- RecyclerView用法
主界面布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...
- Java自学能学会吗?最新Java高级学习路线
就好像一千个人心中有一千个哈利波特一样,这个答案不绝对也不唯一,Java好学但自学的确阻力有些大,作为一门技术语言,它所蕴含的智慧绝对不是靠几本XX入门,XX框架之类的书所能概括,自学Java你要做好 ...
- python--批量下载豆瓣图片之升级版本
周末下雨没法出门,刷刷豆瓣看看妹子,本想拿以前脚本下载点图片,结果发现运行失败,之前版本为<python--批量下载豆瓣图片>,报错HTTP Error 403: Forbidden,网上 ...
- Win7-64位+Oracle11.2g+使用PLSQL_Developer 的解决办法
1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载instantclient-basic-win ...
- SQL Server中计算表达式的和
项目使用的是SQL Server数据库,需要做一个审核规则,字段A中表达式的值和字段B中的值,做比较: 需求本身很简单,但是表达式中存在很多非法字符(非法全角,运算符,汉字--) eg:1.1.1*2 ...
- java重定向
package com.sn.servlet; import java.io.IOException; import javax.servlet.ServletException; import ja ...