work7
uno. 理解C++变量的作用域和生命周期
没有要求讲解我就简单注释了一下~
#include <iostream>
int main(){
for (int i=0;i<10;i++){//alloc memory for i from stack
// std::cout<<x<<std::endl;//wrong!x has not been announced
int x;//alloc memory for x from stack
std::cout<<i<<' '<<x<<std::endl;//ok!
}//x is poped while i is not
// std::cout<<i<<std::endl;//wrong! i is poped
}
due.理解堆和栈,两种内存的申请和释放的方式(栈)
#include<iostream>
using namespace std;
char *wrongdoing()
{
char t[] = "wroingdoing";
return t;
}
char *rightway()
{
char *t = "rightway";
return t;
}
int main()
{
cout << wrongdoing()<<endl;//
cout << rightway()<<endl;// 栈空间这么用就错了。。,已经被pop了
}
tre.理解堆和栈,两种内存的申请和释放的方式(堆)
#include<iostream>
using namespace std;
int *p,*q;
void test()
{
int *a = new int(255);
int b = 255;
p = a;
q = &b;
}
int main(void)
{
test();
cout << *p << endl;//堆上的还没有被清除,除非使用智能指针抑或是delete掉该指针
cout << *q << endl;//栈上的被pop了
return 0;
}
quattro. 理解unique_ptr和shared_ptr
unique_ptr:
1.只能进行移动操作无法进行复制赋值操作
2.保存指向某个对象的指针,当它本身被删除释放的时候(比如,离开了某个作用域),会使用给定的删除器释放它指向的对象。
3.如果在进行过程中抛出异常,同样它也会释放内存
shared_ptr:
- 有一个计数器保存了当前有多少智能指针对象共享了该内存块。
- 在运行了析构函数后,则将计数器减1,直到为1时释放内存
- 复制构造的时候计数器加1.
(感觉有点像信号量?)
cinque.草原民族风
#include <iostream>
#include <string>
#define deal(i) \
tmps="";\
for (j=lastword;j<i;j++)\
{\
tmps+=s[j];\
}\
ans[ansl++]=tmps;\
lastword=j+1
using namespace std;
int main()
{
int i,j;
string s,tmps;
std::cin>>s;
string ans[100];int ansl=0;
int lastword=0;
for (i=0;i<s.length();i++)
{
switch(s[i])
{
case ':':case '/':case '.':
deal(i);
if (ans[ansl-1].length()>0)cout<<ans[ansl-1]<<',';
default:
break;
}
}
deal(i);
if (ans[ansl-1].length()>0)cout<<ans[ansl-1];
}
sei .C++11风格,用的正则表达式
#include <regex>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
const regex pattern("(\\://|/|\\.)+");
string change = ",";
cin>>s;
cout<<regex_replace(s, pattern, change)<<endl;
}
work7的更多相关文章
- work-7.2
安装ubuntu,jdk ,git,maven,Intellij. 配置GIT时,需要将在本地生成的公钥粘贴到服务端. 先占个座,具体过程待补充. -------------------------- ...
- Java.work7 访问权限、对象使用作业20194651
题目1: 在作业5的基础上,再创建一个柱体类,包含矩形对象.高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积.换底两个功能方法,在主类中输入长.宽.高,计算柱体体积,输入新的长.宽. ...
- 常用的jquery
获取一组radio被选中项的值 var item = $('input[@name=items][@checked]').val(); 获取select被选中项的文本 var item = $(&qu ...
- 在线程中进行读取并写入文件和wenjia
新人求(胸)罩!!! import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException ...
- Cocos2d-x V2.x -- 开发进阶和高级实例教程(一) 转
第一章 如何在多平台新建Cocos2d-x项目 yangyong2014-06-25 15:04:44848 次阅读 原文链接: http://cn.cocos2d-x.org/tutorial/ ...
- JQuery 常用命令总结
下面介绍在jQuery中设置form表单中action的值的方法. $("#myFormId").attr("action", "userinfo.s ...
- 3、RabbitMQ-work queues 工作队列
work queues 工作队列 1.模型图: 为什么会出现 work queues? 前提:使用 simple 队列的时候 我们应用程序在是使用消息系统的时候,一般生产者 P 生产消息是毫不费力的( ...
- uoj #190. 【集训队互测2016】消失的源代码 提交答案题
Test 1: 发现是一个字母表的映射 把 \('a' \to 'z'\) 打进去找出映射就好了QAQ . Test 2: 求助 \(dalao\) 得知的点.. 答案是 : \(2016x^2 + ...
- Day 14 python 之 字符串练习
一.字符串总结与练习 #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "DaChao" # Date: ...
随机推荐
- eclipse(STS,myeclipse)老是报ThreadPoolExecutor$Worker.run()
资料地址:http://stackoverflow.com/questions/6290470/eclipse-debugger-always-blocks-on-threadpoolexecutor ...
- Windows下使用Visual Studio 2010编译ffmpeg全过程
在visual studio 2010中调用ffmpeg http://blog.sina.com.cn/s/blog_4178f4bf01018wqh.html Windows下使用Visual S ...
- 经典K线组合图解 > 正文
日K线波段中上下影线的箱体操作法(完整) http://video.sina.com.cn/v/b/130809461-2486130757.html!!经典K线组合图解 > 正文 http:/ ...
- BestCoder Round #2 1001 (简单处理)
题目链接 题意:给N条信息,每个信息代表有x个人从开始的时间 到 结束的时间在餐厅就餐, 问最少需要多少座位才能满足需要. 分析:由于时间只有24*60 所以把每个时间点放到 数组a中,并标记开始的时 ...
- poj3307
可以证明,每个符合的数都由2,3,5,7相乘得到. 依据猜想:下一个出现的数是由前面某个数乘上这几个数之一得到的新的数. 假设之前的数均满足序列,则因为下一个数必有2,3,5,7相乘得到,而这个数之前 ...
- SJ9012: IE6 IE7 不支持 JSON 对象
标准参考 JSON 是一种数据交换格式,RFC 4627 对 JSON 进行了详细描述. 根据 ECMA-262(ECMAScript)第 5 版中描述,JSON 是一个包含了函数 parse 和 s ...
- tomcat启动中提示 - consider increasing the maximum size of the cache
tomcat启动过程中提示: org.apache.catalina.webresources.Cache.getResource Unable to add the resource at xxx ...
- kendo grid输入框验证方法
$("#grid").kendoGrid({ dataSource: dataSrc, //toolbar: ["save", "取消"], ...
- ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking
#!/bin/sh # # ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking # 说明: # 本文主要对TI的sdk中的s ...
- nginx - ssl 配置 - globelsign ssl
前提: 3个文件 - domain.csr.domain.key.xxx.cer 简述: 1. 本地生成 .key文件 [附件] 2. 再利用key文件,生成csr(certificate Secu ...