C\C++基础
文章平均质量分 75
_dowork
这个作者很懒,什么都没留下…
展开
-
C++引用头文件方式区别
用include 引用头文件时,双引号和尖括号的区别:1.双引号:引用非标准库的头文件,编译器首先在程序源文件所在目录查找,如果未找到,则去系统默认目录查找,通常用于引用用户自定义的头文件。2.尖扩号:只在系统默认目录(在Linux系统中通常为/usr/include目录)或者尖括号内的路径查找,通常用于引用标准库中自带的头文件。综上,标准库自带的头文件既可以用双引号也可以原创 2017-10-18 14:34:37 · 941 阅读 · 0 评论 -
C++struct结构体和class定义函数区别
c++中允许在结构体当中定义函数,它的用法和类的用法很像,不过与类有一个区别在于,struct中定义的函数和变量都是默认为public的,但class中的则是默认为private 如: #include<iostream> #include<string> struct Person { Person(s...原创 2018-06-07 10:10:55 · 3523 阅读 · 0 评论 -
c++中指针问题一个很好的例子
#include <iostream> using namespace std;int main(){ int a[2]={261,0}; int *pi=a; char *p=(char *)pi; cout<<*(int*)p++<<endl; cout<<*(int*)p<<endl; ...转载 2018-04-25 17:00:37 · 931 阅读 · 0 评论 -
C++ virtual
1、简介虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数class A{public: virtual void foo() { cout << "A::foo() is called" << endl;}};class B: public A{public: virtual void foo() {转载 2017-11-02 11:07:36 · 234 阅读 · 0 评论 -
位元算符号
一、位运算 二、位移运算 三、二进制数 以Java中最常使用的int类型为例(32位)。 ㈠ 符号位 二进制数最左端的数字为符号位:0代表正,1代表负。 ㈡ 最大与最小 ⑴ 1是最小的正整数,符号位为0,最后一位为1,其它全部为0。 递增:二进制数右端每次加1(逢2进1),一直到31个非符号位的0全部变为1原创 2017-03-14 16:06:56 · 460 阅读 · 0 评论 -
++i,i++运行计算区别
#include void main(void){ int i = 0; printf("---test ++i : %d\n", i++); i = 0; printf("----test i++: %d\n", ++i);}运行结果++i 先运算加1,改变结果值加1i++直接运算结果,不改变结果值原创 2016-12-16 15:45:00 · 329 阅读 · 0 评论 -
指针笔记
指针篇1.基本指针变量(1)定义int i,j;int *pointer_1,*pointer_2;pointer_1 = &i;pointer_2 = &j;等价于int *pointer_1 = &i,*pointer_2 = &j;(指针误区: 大家首先应该知道,地址可称为指针,是不可变的;指针变量(上述定义的pointer_1为指针变量)是变量,变量是原创 2016-12-16 16:59:11 · 322 阅读 · 0 评论 -
((*strDest++=*strSrc++)!='\0'); 的理解
((*strDest++=*strSrc++)!='\0'); 的理解 ((*strDest++=*strSrc++)!='\0'); 哪儿前辈可以解释下里面具体执行的步骤呢? 对于这样的表达式,我们通常会有这样三种看法: 1.这种写法不但没有错误(当然也没有BUG),而且写法紧凑。 2.这种写法虽然没有错误,但是不够直观,理解起来有点麻烦,可能转载 2016-12-16 15:27:18 · 496 阅读 · 0 评论 -
回调函数和函数指针
转载文章的地址:http://blog.csdn.net/qq258711519/article/details/16963503MTK新平台的代码开始大量使用回调函数和函数指针了,一直觉得回调函数和函数指针挺神秘的,所以查了一些资料,来与大家一起来分享。什么是回调函数简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这转载 2016-08-29 15:55:40 · 408 阅读 · 0 评论 -
fork()、vfork()、clone()和exec()
前三个和最后一个是两个类型。前三个主要是Linux用来创建新的进程(线程)而设计的,exec()系列函数则是用来用指定的程序替换当前进程的所有内容。所以exec()系列函数经常在前三个函数使用之后调用,来创建一个全新的程序运行环境。Linux用init进程启动其他进程的过程一般都是这样的。 下面说fork、vfork和clone三个函数。这三个函数分别调用了sys_fork、原创 2017-04-09 17:40:47 · 266 阅读 · 0 评论 -
C++ 11
本章目的:当Android用ART虚拟机替代Dalvik的时候,为了表示和Dalvik彻底划清界限的决心,Google连ART虚拟机的实现代码都切换到了C++11。C+11的标准规范于2011年2月正式落稿,而此前10余年间,C++正式标准一直是C++98/03[①]。相比C++98/03,C++11有了非常多的变化,甚至一度让笔者大呼不认识C++了[②]。不过,作为科技行业的从业者,我们要铭转载 2016-10-28 12:20:03 · 830 阅读 · 0 评论 -
Android C/C++调试技巧
宏控制打印#ifdef GPS_DEBUG//# define D(...) ALOGD(__VA_ARGS__)//#define D(format,...) ALOGD(__FILE__"(%s:%d)"format"", __FUNCTION__, __LINE__, ##__VA_ARGS__)#define D(format,...) ALOGD("(%s:%d)"for...原创 2019-06-05 11:23:31 · 510 阅读 · 0 评论