C++ 程序设计(面向对象进阶)
什么都能干的编程语言,和干活糙快猛的编程语言分别是 C++ 、 Python
ISO/IEC 14882:2011标准之前的C++被称为 Classic C++
使用Visual Studio
编译C++程序时,需要针对每个项目单独指定所使用的C++标准
编程范式:
C语言支持结构化编程范式
C++ 面向对象编程范式
泛型编程范式
函数式编程范式
参考书:
《C++程序设计》 第三版 梁勇
《Essential C++》 (有中译本)
作者:Stanley B. Lippman
适于有编程基础的人
《The C++ Programming language》 (有中译本)
作者:Bjarne Stroustrup
一本每个人都应该买但不一定要看的书
可以当字典用,不适用于初学者
开发工具:
Visual Studio
cin
cout
c 代表 character
Reference 引用
引用关系不可变,引用在定义的时候就必须被初始化
& 运算符有三个含义:
位与
取地址
定义一个引用类型
int x, &rx = x;
// or
int x;
int& rx = x;
//pass by value
void swap(int x, int y){
int t;
t=x; x=y; y=t;
}
int main() {
int a=5, b{10};
cout << "Before: a=" << a << " b=" << b << endl;
swap( a, b );
cout << "After: a=" << a << "b=" << b << endl;
return 0;
}
//pass by pointer
void swap(int* x, int* y){
int t;
t=*x; *x=*y; *y=t;
}
int main() {
auto a{5}, b{10};
cout<< "Before: a=" << a << " b=" << b << endl;
swap( &a, &b );
cout<< "After: a=" << a << "b=" << b << endl;
return 0;
}
//pass by reference
void swap(int& x, int& y){
int t;
t=x; x=y; y=t;
}
int main() {
auto a{5}, b{10};
cout<< "Before: a=" << a << " b=" << b << endl;
swap( a, b );
cout << "After: a=" << a << "b=" << b << endl;
return 0;
}
nullptr and Dynamic Memory Allocation
C++03中,空指针:0 带来的二义性问题
在C++11中,还能使用0来代表空指针吗?
new/delete 与 malloc/free 的区别是什么?
auto x{10}; 等价 int x{10}
new 和 delete 成对出现
请多多指教。
文章标题:C++ 程序设计(面向对象进阶)
本文作者:顺强
发布时间:2020-02-24, 23:59:00
原始链接:http://shunqiang.ml/c-cpp/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。