
C++
kunpengku
这个作者很懒,什么都没留下…
展开
-
C++代码片段01 - 字符串中查找是否有某个字符
if( third_name.find('*')!=string::npos || third_name.find('@')!=string::npos ){ printf("third_name[%s] is a email or a mobilenum", third_name.c_str()); return -1;}查到一个string 字符串中知否有 * 字符,或者有 @ 字符原创 2015-02-04 22:51:57 · 2080 阅读 · 0 评论 -
关键字static有一段不寻常的历史。
(一)起初,C引入关键字static是为了表示退出一个块儿后依然存在的局部变量。在这种情况下术语“static”是有意义的:变量一致存在,当再次进入该块时仍然存在。(二)随后,static在C中有了第二种含义,表示不能被其他文件访问的全局变量和函数。为了避免引入一个新的关键字,关键字static被重用了。(三)最后,C++第三次重用了这个关键字,与前面赋予的含义完全不一样,这里将其解释为:属于类且不原创 2015-12-02 15:25:03 · 348 阅读 · 0 评论 -
概率题 阿里
假设淘宝用户上的用户看到一个商品后购买的概率是5%,收藏的概率是20%,而用户收藏一个商品之后购买的概率是20%,那么已知某用户看到某商品之后完成了购买,那么该用户收藏过该商品的概率是__。设A为买,B为收藏。 已知P(A)=5%, P(B)=20%, P(A|B) = 20%。 所以P(B|A)=P(AB)/P(A) = P(A|B)P(B)/P(A) = 80%.当前国内A股市场的新股发行原创 2015-12-08 20:31:24 · 3826 阅读 · 0 评论 -
C++ primer 第五版 答案
https://github.com/pezy/CppPrimer C++ primer的课后答案,开源版本原创 2015-11-12 15:25:37 · 5329 阅读 · 0 评论 -
位操作
#define BitSet(Number,pos) ((Number)|= 1<<(pos)) //把某位置1 #define BitClear(Number,pos) ((Number) &= ~(1<<(pos)) //把某位置0#define BitGet(Number,pos) ((Number) &= 1<<(pos)) //获取Number的POS位的状态原创 2015-09-17 19:38:55 · 525 阅读 · 0 评论 -
C++ 数组的指针,指针的数组, 数组引用
int *p [10] = // 指针数组, 这个数组里 可以装 10 个指针变量, int (*p) [10] = // 数组的指针, 这个指针可以只向一个 容量是10个int 的数组int (&r) [10] = // 引用, 引用一个 数组。 像这样的数组 int a[10]原创 2015-10-16 18:52:23 · 1002 阅读 · 0 评论 -
C++ MD5加密函数
任务:对输入的字符串进行MD5加密。#include <string>#include <iostream>#include <openssl/md5.h>using namespace std;/** * */string MD5(const string& src ){ MD5_CTX ctx; string md5_string; unsigned char原创 2015-10-16 14:22:09 · 10691 阅读 · 0 评论 -
C++ main函数传参
#include <iostream>using namespace std;int main(int argc, char ** argv){ for (int i=0;i<argc;i++) { cout << argv[i] << endl; } return 0;}argc 获取的是传参的个数, argv 是一个字符串的数组,具体的参数内容就原创 2015-10-16 19:17:13 · 1751 阅读 · 0 评论 -
C++ 拼接字符串的两种方法
#include <iostream>#include <iomanip>#include <cstdio>#include <cstring>#include <sstream>using namespace std;template <typename T>string toString(const T& t,const int w=0){ stringstream ss;原创 2015-09-14 12:41:26 · 23311 阅读 · 0 评论 -
C++ 墙角知识 03
代码简洁性 有时候 会使阅读 比较困难。原创 2015-09-07 20:21:55 · 437 阅读 · 0 评论 -
C++ 墙角知识 04
sizeof vector 的结果跟 vector容器中的元素个数没有关系, 跟编译器有关系 ,跟vector这个类中的静态变量有关 。 在我的机器上 ,sizeof (vector) = 24用sizeof 可以得到数组的大小 int a[] = {1,2,3,5,6,7,8}; int len = sizeof(a)/sizeof(int);sizeof 返回值是 size_t ,这个原创 2015-09-28 10:41:13 · 618 阅读 · 0 评论 -
C++ 墙角知识 02
如果一个表达式已经有 size()函数,就不要再使用int的变量了, 可能会引起错误。 因为 int可能是一个负数, 而会转化为一个无符号的数,就非常大。两个string对象相加 s1+s2 字面值可以和string对象相加 s1+”nihao” 但是两个字面值不能直接相加。如果有多个连加, 注意 加号 两侧至少有一个是 string对象。 如 s1 + “aaa” +s2;s1+”aa原创 2015-09-06 17:57:28 · 469 阅读 · 0 评论 -
C++ 墙角知识
C++ 标准库手册 http://www.cplusplus.com/reference/vector/vector/extern 如果想声明一个变量就用extern,如 extern int j; 但如果在声明语句中包含了初始化,这么做就抵消了extern的作用,而变成定义了,如 extern int j = 3; 上面这句,因为有初始化的行为,就不是声明了,而是定义原创 2015-09-05 12:37:56 · 494 阅读 · 0 评论 -
C++ 墙角知识 04 我是用C++来写C的程序员.
数组的元素应该为对象,因此不存在 引用的数组.不允许使用一个数组初始化另一个数组,也不允许把一个数组赋值给另一个数组.int * a[10]; 没有括号的情况,这定义一个数组,里面是 指针. int (*a) [10]; 有括号时, 定义一个指针, 指向 int a[10]; 这样的数组. int (&a) [10]; 有括号时,定义一个引用, 引用 int a[10]; 这原创 2015-09-09 08:33:26 · 474 阅读 · 0 评论 -
C++ 作用域
int main(){int a=3;cout cout { int a = 4;cout }cout }输出----input-------a=3a=4a=3可见,在花括号中定义的变量,在出了 花括号后就 不起作用了。原创 2015-08-10 11:20:17 · 470 阅读 · 0 评论 -
c++模板
1定义函数模板#include<stdexcept>#include <sstream>#include <map>using namespace std;template <typename T>int cpmpare(T v1, T v2){ if(v1<v2) return -1; if(v1>v2) return 1; return 0;}int main原创 2016-04-25 20:17:28 · 440 阅读 · 0 评论