C++
子生
这个作者很懒,什么都没留下…
展开
-
string类的c_str()用法
https://www.cnblogs.com/lifexy/p/8642163.html写的比较详细原创 2019-04-12 08:16:39 · 565 阅读 · 0 评论 -
作用域为类的常量
例如,类声明可能使用字面值30来指定数组的长度,由于该常量对于所有对象来说都是相同的,因此创建一个由所有对象共享的常量是个好主意,你可能以为以下做法是可行的:class Bakery{private: const int Months = 12; double costs[Months]; ..... }但这样实际上是不行的,因为声明类只是描述了对象...原创 2019-04-23 19:21:24 · 298 阅读 · 0 评论 -
构造器与析构器
//stock10.h#ifndef STOCK10_H#define STOCK10_H#include <string>class Stock{public: Stock(); Stock(const std::string &co, long n = 0, double pr = 0.0); ~Stock(); void ...原创 2019-04-23 17:08:45 · 390 阅读 · 0 评论 -
C++中的引用
一、临时变量、引用参数和const如果实参与引用参数不匹配,C++将生成临时变量。当前,仅当参数为const引用时,C++才允许这样做。首先,什么时候将创建临时变量呢?如果引用参数是const,则编译器将在下面两种情况下生成临时变量:1、实参的类型正确,但不是左值。2、实参的类型不正确,但可以被转换成正确的类型。左值是什么呢?左值参数可以是被引用的数据对象,例如,变量、数组元素、结...原创 2019-04-23 16:23:37 · 145 阅读 · 0 评论 -
函数指针
一、现在有一个函数func(),要实现将一个函数作为参数传进这个函数中。为此,必须要完成以下操作:1、获取函数的地址,使用函数名即可2、声明一个函数指针,声明应该像函数原型那样指出有关函数的信息。double pam(int);//prototypedouble (*pf)(int);pam是函数,因此(*pf)也是函数,所以pf是函数指针。3、使用函数指针来调用函数...原创 2019-04-18 17:49:15 · 215 阅读 · 0 评论 -
cin的相关问题
一、使用原始的cin进行输入如果程序需要使用循环来读取来自键盘的文本输入,则必须有办法知道何时停止读取,有一种方法是选择某个特殊字符,下面来看这个程序,该程序计算读取的字符数,并回显这些字符并报告处理的总字符数。#include <iostream>using namespace std;int main(){ char ch; int count = 0; co...原创 2019-04-17 21:24:00 · 594 阅读 · 0 评论 -
函数和C风格字符串
一、将C风格字符串作为参数传递给函数,则表示字符串的方式有三种1、char数组;2、用引号括起的字符串常量;3、被设置为字符串的地址的char指针;现在有一个函数,用来统计某个字符在一个字符串中出现的次数。unsigned int c_int_str(const char *str, char ch){ while(*str) { if(*s...原创 2019-04-17 19:02:21 · 163 阅读 · 0 评论 -
函数和二维数组
为编写将二维数组作为参数的函数,必须牢记,数组名被视为其地址,因此,相应的形参是一个指针,就像一维数组一样。比较难处理的是如何正确地声明指针。例如,假设有下面的代码:int data[3][4] = {{1, 2, 3, 4}, {9, 8, 7, 6}, {2, 4, 6, 8}};int total = sum(data, 3);data是一个数组名,该数组有三个元素。第一个元素本...原创 2019-04-17 17:14:57 · 2484 阅读 · 1 评论 -
指针与const
1、将const用于指针有一些很微妙的地方,可以用三种不同的方式将const关键字用于指针。方法一:让指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值首先,声明一个指向常量的指针pt:int age = 39;const int *pt = &age;该声明指出,pt指向一个const int,因此不能使用pt来修改这个值。换句话说,*pt的值为const,...原创 2019-04-17 16:31:02 · 276 阅读 · 0 评论 -
实现自己的string类
一、关于等位拷贝在代码中,sizeof(mystring) = 4字节,等位拷贝会把这四个字节等位拷贝过去。它们指向同一段内存,到最后ms要析构,ms2也要析构,所以一段内存就会被析构两次,就是double free#ifndef STRING_H#define STRING_H#include <stdio.h>#include <string.h&g...原创 2019-04-24 15:35:05 · 494 阅读 · 0 评论