C/C++
C++ primer基础
灯火阑处
爱生活,爱编程,酷爱计算机,将来要在IT行业大干一番
展开
-
C语言-斐波那契数兔子产仔问题
已知一对两个月大的兔子以后每一个月都可以生一对小兔子,而每一对新生的兔子出生两个月后才可以生小兔子(例如:1月份出生,3月份才可以产仔)。一年能繁殖成多少对int Fibonacci(int n, int flag) { if (n == 1 || n == 2) return 1; else return Fibonacci(n - 1...原创 2020-02-20 21:18:13 · 822 阅读 · 0 评论 -
C++ 异常捕获和处理
C++之异常捕获和处理一、简介 在C++语言中,异常处理包括:throw表达式,try语句块,一套异常类。其中,异常类用于在throw表达式和相关的catch子句之间传递异常的具体信息。exception头文件定义了最普通的异常类exception,它只报告异常的发生,不提供任何额外信息。以下是定义在stdexcept头文件中的常用的异常类:异常类解释exception最常见的问题runtime...原创 2020-03-27 19:02:39 · 157 阅读 · 0 评论 -
C++ define和typedef及复杂声明
一、typedef用途1.定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb;typedef char* PCHAR; // 一般用大写PCHAR pa, pb; 2.用在旧的C的代码中,声明struct新对象时,必须要带上struct,即形式为: struct 结构名 对象名,如:struct tagPOINT1...原创 2020-01-29 00:21:54 · 866 阅读 · 0 评论 -
C++可变参数,“## __VA_ARGS__”宏的介绍和使用
一、可变宏参数在GNU C中,宏可以接受可变数目的参数,就象函数一样,例如:#define pr_debug(fmt,arg...) \ printk(KERN_DEBUG fmt, ##arg)用可变参数宏(variadic macros)传递可变参数表你可能很熟悉在函数中使用可变参数表,如:void printf(const char* format, ...);...原创 2020-01-23 15:58:39 · 4255 阅读 · 0 评论 -
C++11 Lambda表达式和bind
Lambda捕获列表1、空,没有使用任何函数对象参数。2、=,函数体内可以使用Lambda所在作用范围内所有可见的局部变量(包括Lambda所在类的this),并且是值传递方式(相当于编译器自动为我们按值传递了所有局部变量)。3、&,函数体内可以使用Lambda所在作用范围内所有可见的局部变量(包括Lambda所在类的this),并且是引用传递方式(相当于编译器自动为我们按引用...原创 2020-01-13 11:23:00 · 1187 阅读 · 0 评论 -
C++ 中求string和vector容器大小、长度
string:string str("hello world");str.size();str.length();strlen(str.c_str());end(str) - begin(str)固定容器大小的array:sizeof(array)/sizeof(array)[0];end(str) - begin(str);vector:vector是可变大小容...原创 2020-01-10 15:20:01 · 17435 阅读 · 1 评论 -
C++ vector 和 array
#include <array>#include <deque>#include <iostream>#include <list>#include <vector>using namespace std;int main(int argc, const char *argv[]) { list<string&...原创 2020-01-10 15:03:37 · 154 阅读 · 0 评论 -
C++ const指针常量与常量指针,const成员函数
记忆法:const 在*左边右边记忆法常量指针(被指向的对象是常量)定义:又叫常指针,可以理解为常量的指针,指向的是个常量关键点:常量指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改; 常量指针可以被赋值为变量的地址,之所以叫常量指针,是限制了通过这个指针修改变量的值; 指针还可以指向别处,因为指针本身只是个变量,可以指向任意地址;const int *...原创 2020-01-10 15:00:53 · 340 阅读 · 1 评论 -
C++ const和static修饰的数据成员
1.通常在类外申明static成员,但是static const的整型(bool,char,int,long)可以在类中声明且初始化,static const的其他类型必须在类外初始化(包括整型数组)。const int ageOn = 100; private: static int interesteRate; static const int inteese = 9...原创 2020-01-10 14:33:26 · 350 阅读 · 0 评论 -
使用JNI进行Java与C/C++语言混合编程
C++调java编写Java代码并编译这段代码非常简单, 有个静态方法和成员方法, 一个public的成员变量public class Sample2 { public String name; public static String sayHello(String name) { return "Hello, " + name + "!"; ...原创 2020-01-08 12:32:21 · 202 阅读 · 0 评论 -
C++ STL常用标准库容器入门(vector,map,set,string,list...)
其中几种种序列容器类型C++ STL中最基本以及最常用的类或容器无非就是以下几个:string vector deque list forward_list queue priority_queue stackstring对比在C语言中一般怎么使用字符串的char* s1 = "Hello JackYu!"; //创建指针指向字符串常量,既然是常量字符串,这段字符...原创 2018-08-09 21:44:08 · 20492 阅读 · 3 评论 -
C++11 成员和非成员begin、end( 标准库与标准库容器成员函数)
C++ Primer,这两点分别在P106、P298。如果需要详细理解最好去书中查看详细解释和示例代码标准库的begin()和end()函数是C++11新标准引入的函数,可以对数组类型进行操作,返回其首尾指针,对标准库容器操作,返回相应迭代器。标准库容器的begin()和end()成员函数属于对应类的成员,返回的是对象容器的首尾迭代器。新标准库的begin()和end()函数可以让我们更...原创 2018-07-17 14:25:00 · 936 阅读 · 0 评论 -
C语言(数据结构) - 链表的基本操作
1,为什么要用到链表数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有时需要3 0个大小的数组,有时需要5 0个数组的大小,难于统一。我们只能够根据可能的最大需求来定义数组,常常会造成一定存储空间的浪费。我们希望构造动态的数组,随时可以调整数组的大小,以满足不原创 2016-08-19 11:28:01 · 1912 阅读 · 0 评论 -
对一个字符串重新排列要求字母在前数字在后,且不改变字母数字间的原有顺序
#include<stdio.h>#include<string.h>int main(){ char a[100]; char b[100]; char c[100]; int n,i,x=0,y=0; scanf("%s",a); n=strlen(a); for(i=0;i<n;i++) { if(a[i]>=48原创 2016-03-01 16:20:21 · 3078 阅读 · 0 评论 -
C语言贪心算法,关于零钱取整问题
算法,贪心算法精简易懂原创 2016-01-13 15:20:37 · 2323 阅读 · 0 评论 -
关于malloc动态连接两个字符串
#include <stdio.h>#include <string.h>#include "stdlib.h"char *str_cat(char *s1,char *s2);int main(){ char *p = NULL; char s1[100],s2[100]; //初始要有空间存放数据,所以,要定义成数组 printf("请分别输入两个字符串的内容:原创 2016-03-07 15:53:49 · 871 阅读 · 0 评论 -
用函数调用的方法求字符串的最大值和最小值
#include <stdio.h>#include "string.h"float arry_maxandmin(a[10]){ int temp,i = 0,j; for(j=0;j<10;j++){ for (i = 0; i < 10- 1 - j; i++) { if(a[i] < a[i + 1])原创 2016-03-09 10:22:37 · 1660 阅读 · 0 评论 -
判断现有(输入的字符串是否相等)
#includeint main(){ /*int i; char *a="ahbdhd"; char *b="ahbdhd"; if(a==b) printf("same"); else{ printf("different"); }}*/ char a[100],b[100]; int i,j; gets(a); gets原创 2016-02-29 16:11:41 · 916 阅读 · 0 评论 -
C语言-结构体与联合体
第一题: 要求你设计一个能够保存图书信息的结构。图书属性包括:书名(title)、作者(author)和单价信息(price),并按照下面要求完成对于各种图书的相关操作。 /* struct books { char title[100]; char author[20]; double price; } doyle = { "M原创 2016-03-14 11:00:27 · 1065 阅读 · 0 评论 -
C语言-输入一个字符串将大写改成小写,小写 改成大写
#include<stdio.h>void main(){ char a[100]; gets(a); int i; for(i=0;;i++){ if(a[i]=='\0') break; if(a[i]>=65 && a[i]<=90){ a[i]+=32; } else if(a[i]>=97 && a[i]<=122){原创 2016-03-01 09:58:44 · 12482 阅读 · 4 评论 -
C语言-将下标为单数的数组a的元素赋值给数组b输出大写的数组b的数组元素
#include<stdio.h>void main(){ char a[100]; char b[100]; gets(a); int i,j; for(i=0;;i++){ if(a[i]=='\0'){ break; }else{ j=2*i; b[i]=a[j];原创 2016-03-01 10:42:11 · 2379 阅读 · 0 评论 -
C语言中结构体指针的定义和引用
指向结构体类型变量的使用首先让我们定义结构体:struct stu{char name[20];long number;float score[4];} ;再定义指向结构体类型变量的指针变量:struct stu *p1, *p2 ;定义指针变量p 1、p 2,分别指向结构体类型变量。引用形式为:指针变量→成员;[例7-2] 对指向结构体类型变量的正确使原创 2016-03-15 09:45:54 · 841 阅读 · 0 评论 -
IOS开发系列--TableView、多个TableViewCell、自定义Cell、Cell上画画(故事板+代码方式),ios7tableview索引
在此之前,我们已经创建了一个通过简单的表视图应用程序并显示预定义的图像。在本教程中,我们将继续努力,使应用程序变得更好,:>不同的行显示不同的图像 - 上个教程,我们的所有行显示相同的缩略图。那么不同的食物显示不同的图片不是更好么?>自定义视图单元-我们将展示我们自己的视图来替代默认表单元格样式显示不同缩略图在我们更改代码之前,让我们回顾显示缩略图的代码。原创 2016-06-21 08:22:10 · 5496 阅读 · 0 评论 -
iOS开发中用户密码应该保存在哪里
iOS开发中用户密码应该保存在哪里字数1413 阅读3488 评论14 喜欢48如果要实现自动登录,不必每次打开应用都去登录,我们势必要把密码保存到本地。一般我们的操作是:每次打开应用后,如果存在密码,直接进入界面,然后再进行后台密码验证。如果没网络,我们可以跳过验证;如果有网络,我们可以后台去验证帐号密码的正确性,并根据服务器的response做一些操作。原创 2016-09-10 15:27:50 · 420 阅读 · 0 评论 -
将一句话中的单词倒序输出并不改变其标点
#include<string.h>#include<stdio.h> #include<math.h>void main(){ int i=0,j=0,top,bot; char str[100],temp; gets(str); j=strlen(str)-1; while(i<j) { temp=str[i];原创 2016-03-01 15:49:34 · 1140 阅读 · 0 评论