C++primeplus
文章平均质量分 54
c++primeplus学习记录。
菜鸟阿重
菜鸟 分享自用的知识
展开
-
【c++primerplus】【11】【使用类】
程序将使用构造函数Stonewt(double)来创建一个临时的Stonewt对象,并将19.6作为初始化值,随后采用逐成员赋值方式将该临时对象的内容复制到myCat中,这一过程称为隐式转换,因为它是自动进行的,而不需要显示强制类型转换。然而,当程序员拥有更丰富的C++经验时,将发现这种自动特性并非总是合乎需要的,因为这会导致意外的类型转换。如果按值传递Time对象,代码的功能将相同,但传递引用,速度将更快,使用的内存将更少。虽然operator*()函数不是成员函数,但它与成员函数的访问权限相同。原创 2023-12-27 18:46:13 · 341 阅读 · 0 评论 -
【c++primerplus】【10】【对象和类】
最后,程序可以创建临时对象来完成特定的操作,在这种情况下,程序将在结束对该对象的使用时自动调用其析构函数。初始化对象数组的方案是,首先使用默认构造函数创建数组元素,然后花括号中的构造函数将创建临时对象,然后将临时对象的内容复制到相应的元素中。在默认情况下,将一个对象赋给同类型的另一个对象时,C++将源对象的每个数据成员的内容复制到目标对象中相应的数据成员中。当对象这种自动变量被放在栈中,因此最后创建的对象将最先被删除,最先创建的对象将最后被删除。当程序创建未被显示初始化的类对象时,总是调用默认构造函数。原创 2023-12-25 16:27:38 · 809 阅读 · 0 评论 -
【c++primerplus】【循环和关系表达式】
检测到EOF后,cin将两位(eofbit 和 failbit)都设置为1,可以通过成员函数eof()来查看eofbit是否被设置;当cin出现在需要bool值的地方(如在while循环的测试条件中)时,该转换函数将被调用。cin在读取char值时,与读取其他基本类型一样,cin将忽略空格和换行符。更复杂的是,发送给cin的输入被缓冲。(c++11)基于范围的for循环:这简化了一种常见的循环任务:对数组(或容器类,如vector和array)的每个元素执行相同的操作。三种“二维数组”方式。原创 2023-12-23 19:02:38 · 426 阅读 · 1 评论 -
【c++primerplus】【复合类型】
要使用string类,必须在程序中包含头文件string。string类位于名称空间std中,因此您必须提供一条using编译指令,或者使用std::string来引用它。可以使用C风格字符串来初始化string对象,可以使用数组表示法来访问存储在string对象中的字符。C++11:string a {“你好”};//列表初始化C++11新增原始字符串,字符表示的就是自己。原创 2023-12-20 21:11:04 · 387 阅读 · 0 评论 -
C++ 默认参数
所以,为了避免冗余和混淆,C++规定默认参数只能在函数的声明中指定一次,而不是同时在函数的声明和定义中指定。如果需要更改默认参数值,只需在函数的声明中进行修改,而不需要修改函数的定义。当你在函数声明中提供默认参数时,编译器会将默认参数值记录在函数的声明中,以便在函数调用时使用。在函数定义中,你提供的默认参数值不会用于函数的调用,因为在函数定义时编译器已经知道了函数的完整信息,包括默认参数的值。在函数定义中再次提供默认参数值是多余的,因为这些值已经在函数声明中确定了。原创 2023-12-15 11:49:44 · 35 阅读 · 0 评论 -
【每日学习记录】【1】【20231207】C++transform()函数用法
C++transform()函数用法(将某操作应用于指定范围的每个元素)transform函数的作用是:将某操作应用于指定范围的每个元素。transform函数有两个重载版本first1是第一个容器的首迭代器,last1为第一个容器的末迭代器,first2为第二个容器的首迭代器,result为存放结果的容器,binary_op为要进行操作的二元函数对象或sturct、class。transform(first1,last1,first2,result,binary_op);first1是第一个原创 2023-12-07 18:05:12 · 139 阅读 · 1 评论