随笔分类 - C/C++
摘要:问题① 函数返回值为“忐” 1 #include<stdio.h> 2 char *myString() 3 { 4 char buffer[6] = {0}; 5 char *s = "Hello World!"; 6 for (int i = 0; i < sizeof(buffer) - 1;
阅读全文
摘要:Description 用vector向量容器装入10个整数,然后,使用迭代器iterator和accumulate算法统计出这10个元素的和 Solution
阅读全文
摘要:一.多态性的概念:1.多态:在面向对象方法中一般是这样表述多态性的: 向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法)。也可以说,多态性是“一个接口,多种方法”。2.从系统实现的角度看,多态性分为两类: 静态多态性和动态多态性。以前学过的函数重载和运算符重载实现的多态性属于静...
阅读全文
摘要:为什么C/C++语言使用指针? 答案:①一方面,每一种编程语言都使用指针。不止C/C++使用指针。 每一种编程语言都使用指针。C++将指针暴露给了用户(程序员),而Java和C#等语言则将指针隐藏起来了。 “Everything uses pointers. C++ just exposes the
阅读全文
摘要:字节对齐原因详解 字节对齐原因详解 字节对齐原因详解 一.为什么要内存对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲,似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候,经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺
阅读全文
摘要:概括地说1、malloc与free是C++/C的标准库函数,new/delete是C++的运算符,它们都可用于申请动态内存和释放内存。2、对于非内部数据类型的对象而言,只用malloc/free无法满足动态对象的要求。对象在创建的同时,要自动执行构造函数,对象在消亡之前要自动执行析构函数。而由于ma...
阅读全文