【《Effective C++》笔记:II】教程文章相关的互联网学习教程文章

cocos2d-x 通过JNI实现c/c++和Android的java层函数交互【图】

1.JNI JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。JNI实现流程:2.C++与java交互流程图: 注:对于跨平台的 cocos2d-x 来说,除非必要,否则可不必深究其理,比如想要...

一个简单的命令行联系人程序 C++【代码】【图】

用不准的英语写的说明,贴在github上。https://github.com/shalliestera/contacts/tree/master这是头文件:#ifndef CCONTACTS_H_ #define CCONTACTS_H_ #include <map> #include <string>class CContacts { private:// map<std::string, std::string>std::map<std::string, std::string> m_contacts;unsigned long count; public:// ctors ‘n‘ init CContacts();CContacts(const std::string& name, const std::string& email...

C++实现中缀表达式转前、后缀【代码】

#include<iostream> #include<string> #include<stack> using namespace std; bool isInt(char ch) {if(ch>=‘0‘&&ch<=‘9‘)return true;return false; } bool isOperator(char ch) {if(ch==‘+‘||ch==‘-‘||ch==‘*‘||ch==‘/‘)return true;return false; } int opLevel(char ch) {int level;switch(ch){case‘+‘:case‘-‘:level=1;break;case‘*‘:level=2;case‘/‘:break;default:level=0;break;}return level; } /*中...

c++操作mysql入门详解【代码】【图】

首先,根据你当前的操作系统,还有开发工具,选择相应的mysql版本。本人选择的环境是win10 + vs2013需要解决三个问题:1、下载安装mysql服务器,并登录mysql测试一下是否安装成功;2、搭建mysql开发环境;3、写一个简单的demo连接操作数据库,看看是否能够成功。下面依次完成上述三个问题:1、下载安装mysql:  注:安装环境是一件耐心和折磨的事,所以静下心来慢慢弄吧。  打开https://downloads.mysql.com/archives/这个地址...

斐波那契数列实例讲解以及C++实现【图】

斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3,...

【C/C++学院】0802-链式栈/链表队列以及优先队列/封装链表库

链式栈// stacklinknode.h #define datatype int struct stacknode {int num;//编号datatype data;//数据struct stacknode *pNext;//指针域}; typedef struct stacknode StackNode;//简化 StackNode * init(StackNode * phead);//初始化 StackNode * push(StackNode * phead, int num, datatype data);//进栈 StackNode * pop(StackNode * phead, StackNode * poutdata);//出栈 StackNode * freeall(StackNode * phead);//清空 ...

C++内存分配方式

参考:http://www.cnblogs.com/daocaoren/archive/2011/06/29/2092957.html http://www.cnblogs.com/skydesign/archive/2011/09/20/2182362.html今天笔试遇到的一道题,我当时写的new delete malloc free,但感觉有点文不对题。回来搜了下,现总结如下:栈:程序在执行的时候分配,如函数中的局部变量,执行完函数后自动释放相应的内存。堆:动态内存,用new 或malloc分配,需手动对其进行释放。全局/静态存储区:程序在编...

c++mysql数据库跨平台编程实战,给大家安排上!【图】

正文谈到 MYSQL 的事物, 相信大家对这几个概念都不会陌生:四大特性:ACID并发问题 脏读不可重复读幻读隔离级别 Read Uncommitted(读未提交)Read Committed(读提交)Repeatable Read(可重读)Serializable(可串行化)下面的思维导图可能更表达得清晰????MySQL 的默认事物隔离级别是 RR (Repeatable Read) ,可重复读级别是能够解决脏读、不可重复读的这两个事物并发问题的,但是幻读的问题仍会存在,如果使用Serializable的隔...

C/C++程序员必备的15个编辑器和集成开发环境

我们有许多的编程语言,像 Java,NET,PHP,Ruby,Perl 和 Python 等,但今天我们要讨论的是两个最古老和流行的语言的C和C++。它们都有其特殊的地方,更有效的功能和支持的工具,这两种语言仍然很活跃。今天我们整理了一些令人印象深刻的IDE(集成开发环境)和编译器推荐给 C 和 C++ 程序员。集成开发环境,主要用于提供软件应用的各种组件而开发的,其中最流行的功能是它们都有吸引力的用户界面。1) Best IDE for C/C++ – kDe...

c++ 智能指针及 循环引用问题

c++智能指针介绍由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,比如流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见,并造成内存泄露。如此c++引入智能指针 ,智能指针即是C++ RAII的一种应用,可用于动态资源管理,资源即对象的管理策略。智能指针在 <memory> 标头文件的 std 命名空间中定义。 它们对 RAII 或获取资源即初始化编程惯用法至关重要。RAI...

C++学习37 string字符串的访问和拼接【代码】

访问字符串中的字符string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符。string 字符串的起始下标仍是从 0 开始。请看下面的代码:#include <iostream> #include <string> usingnamespace std; int main(){string s1 ;s1 = "1234567890";for(int i=0, len=s1.length(); i<len; i++)cout<<s1[i]<<"";cout<<endl;s1[5] = ‘5‘;cout<<s1<<endl;return0; }本例中定义了一个 string 变量 s1,并赋值 "1234567890",之...

C++ 自动指针 共享指针【代码】

#include <iostream> #include <string> #include <memory> class Item { public:Item(std::string str):name(str){}~Item(){std::cout<< name << " unitialize!" <<std::endl;}void dump(){std::cout<< "I‘am " << name <<std::endl;}static Item *CreateItem(std::string str){Item *pItem = new Item(str);return pItem;} private:std::string name; };int main() {Item *pi = Item::CreateItem("common ptr");pi->dump();dele...

[转]C++内存管理

[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C++超绝的性能。本期专题将从内存...

大话设计模式C++实现-第7章-代理模式【图】

一、UML图二、概念代理模式:为其他对象提供一种代理以控制对这个对象的访问。三、应用场景(1)远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。(2)虚拟代理,是根据需要创建开销很大的对象。通过他来存放实例化需要很长时间的真实对象。例如:图片加载的时候。(3)安全代理,用来控制真是对象访问时的权限。(4)智能指引,是指当调用真实的对象的时候,代理处理另外...

C++中将string类型转换为int, float, double类型 主要通过以下几种方式:【代码】

C++中将string类型转换为int, float, double类型 主要通过以下几种方式:# 方法一: 使用stringstreamstringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类型转换为常用的数值类型。Demo:[cpp] view plaincopy #include <iostream> #include <sstream> //使用stringstream需要引入这个头文件 using namespace std; //模板函数:将string类型变量转换为常用的数值类型(此方法具有普遍...