赞
踩
C语言是结构化和模块化的语言,适合处理较小规模的程序。
【来源】1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。
【概念】C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。
【性质】
【C语言和C++的关系】
【C++的历史版本】
重要性不言而喻
【4个层次】
【建议】中后期画思维导图总结。
【摘录】 最后,我说一说我的一些感受:
- 这些年来的对于外企和国内感受—— 国外牛B的IT公司的工程能力并不见得比国内的要强多少,但是国外那些NB的IT公司的架构和设计能力远远超过国内的公司,最可怕的是,那些有超强架构和设计能力的“老程序员们”还战斗在一线,这些战斗在一线的老鸟的能力绝对超过100个普能的新手。
- 对年轻程序员的感受——国内新一代的程序员们太浮燥了。老实说,对于大多数人来说,如果你没有编程到30岁,你还不能成为一个“合格”的程序员。所以,并不是编程编到30岁就玩完了,而是编程编到30岁才刚刚入门。这些不合格的程序,整天BS这个不好,那个不好的,而且喜欢速成,好大喜功。
- 我是一个奔四的人了,编程就像登山一样,越往上爬人越少,所以,在我这个年纪还有想法,对编程还有热情的人不多了,基本上都是转Manager了。其实,什么职位,Title都是虚的,公司没了什么都没了,只有技术才是硬通货。而且,越是这个年纪还在玩编程玩技术的人,其实其经验和能力都是比较强的,都是中坚力量,如果还有其它这个年纪和我一样的人,求交往。
C语言32个关键字,C++总计63个关键字。
后期学习慢慢了解。
asm do if return try continue auto double inline short typedef for bool dynamic_cast int signed typeid public break else long sizeof typename throw case enum mutable static union wchar_t catch explicit namespace static_cast unsigned default char export new struct using friend class extern operator switch virtual register const false private template void true const_cast float protected this volatile while delete goto reinterpret_cast
【引言】
//C语言命名冲突报错
#include<stdio.h>
#include<stdlib.h>
int rand = 10;
int main()
{
int a = 1;
printf("%d\n",rand);
return 0;
}
C++中引入命名空间(namespace)用以解决这类问题。
【概念】
命名空间(namespace)是 C++ 提供的一种解决命名冲突问题的方法,可以将不同作用域的标识符(如变量、函数、类等)组织在一起。
【性质】
定义命名空间
namespace myNamespace
{
int a;//定义变量
void fun();//定义函数
}
使用命名空间中的成员
作用域运算符 :: :在C++中用于访问命名空间的成员和限定类的成员函数的定义位置。
可以理解为访问操作符,用于访问变量和函数。
namespace myNamespace
{
int a;
void fun();
myNamespace :: a = 1;//使用变量
myNamespace :: fun();//使用函数
}
嵌套命名空间
namespace 1
{
namespace 2//嵌套
{
int a;
void fun();
}
}
myNamespace::a = 1;
myNamespace::fun();
使用 using声明
#include <iostream>
namespace NamespaceA
{
int a = 5;
}
int main()
{
using NamespaceA::a; // 使用using声明
std::cout << "a = " << a << std::endl; // 直接使用a,无需NamespaceA::前缀
return 0;
}
使用 using namespace指令
#include <iostream> namespace NamespaceA { int a = 5; void func() { std::cout << "Hello from NamespaceA!" << std::endl; } } int main() { using namespace NamespaceA; // 使用using namespace指令 std::cout << "a = " << a << std::endl; // 直接访问命名空间NamespaceA中的变量a func(); // 直接调用命名空间NamespaceA中的函数func return 0; } //【输出】 /* a = 5 Hello from NamespaceA! */
【总示例】
#include <iostream> // 定义命名空间NamespaceA namespace NamespaceA { int a = 5; // 定义嵌套命名空间NamespaceB namespace NamespaceB { int b = 10; } } int main() { // 使用 using声明 using NamespaceA::a; std::cout << "Using declaration: a = " << a << std::endl; // 使用 using namespace指令 using namespace NamespaceA; std::cout << "Using namespace directive: a = " << a << std::endl; // 可直接使用a // 使用嵌套命名空间NamespaceB中的成员 std::cout << "NamespaceA::NamespaceB::b = " << NamespaceA::NamespaceB::b << std::endl; return 0; }
【输出】
Using declaration: a = 5
Using namespace directive: a = 5
NamespaceA::NamespaceB::b = 10
using和using namespace两者区别:
#include<iostream>
int main()
{
std :: cout << "Hello C++!" << std :: endl;
return 0;
}
【输出】
Hello C++!
【优化/简化】
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
return 0;
}
【输出】
Hello world!
【说明】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。