在阅读Herb Sutter撰写的关键词(或其他名称)时,我遇到了以下几点:
没错,有些关键字在语义上等同于空格,这是一个美化的评论.
和
我们已经看到为什么C++语言将关键字视为保留字,我们已经看到两个关键字-auto和register--它们对C++程序没有任何语义差异.不要使用它们; 无论如何,它们只是空格,并且有更快的方式来输入空格.
如果关键字auto
(可能不是在C++ 11中)并且register
没有价值,那么它们为什么被创建和使用?
如果包含register
变量之前没有任何区别
#include<stdio.h>
int main(){
register int a = 15;
printf("%d\n%d\n",&a,a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么上述程序会出错?
test_register.c:在函数'main'中:
test_register.c:4:2:错误:请求的寄存器变量'a'的地址
的printf( "%d \n%d \n",&A,A);
以下程序适用于C++.
#include<iostream>
int main(){
register int a = 15;
std::cout<<&a<<'\n'<<a;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
// How to throw the ServerException?
public void myFunc() throws ServerException{
// Some code
CompletableFuture<A> a = CompletableFuture.supplyAsync(() -> {
try {
return someObj.someFunc();
} catch(ServerException ex) {
// throw ex; gives an error here.
}
}));
// Some code
}
Run Code Online (Sandbox Code Playgroud)
someFunc()
抛出一个ServerException
.我不想在这里处理这个问题,而是将异常抛给someFunc()
调用者myFunc()
.
我有一个需要接受Enum类的方法.这些枚举实现了一个接口.现在我需要访问像ordinal(),name()等的Enum方法和我的接口方法.我尝试过的:
public <T extends ConfigFeature, Enum> void showEnabledFeatures(Class<T> enumType, long mask) {
List<T> list = Arrays.asList(enumType.getEnumConstants());
list.forEach(item -> {
// My interface's method, works fine
item.getMask();
// Enum method doesn't work:
// item.ordinal();
});
}
Run Code Online (Sandbox Code Playgroud)
撤销订单会扭转工作:
public <T extends Enum, ConfigFeature> void showEnabledFeatures(Class<T> enumType, long mask) {
List<T> list = Arrays.asList(enumType.getEnumConstants());
list.forEach(item -> {
// My interface's method, doesn't work now
// item.getMask();
// Enum method now works:
item.ordinal();
});
}
Run Code Online (Sandbox Code Playgroud)
有没有办法从接口和Enum访问这两种方法?
Python字符串的末尾是否有特殊字符?就像它在C或C++中是\ 0.我想在不使用内置len
函数的情况下计算python中字符串的长度.
我有一个简单的配置,webpack-dev-middleware
并webpack-hot-middleware
使用热重载(HMR)与反应.
一切都工作正常,除了我对代码所做的每一次更改都需要2到3-4秒!直到我在浏览器中看到它.难道我做错了什么 ?它应该是这样的?
我的代码相当大,我的捆绑缩小到841kb(200kb gzip)这是原因吗?代码库越大,捆绑创建速度越慢?
Express Server:
var webpack = require('webpack');
var webpackConfig = require('./webpack.hot.config');
var compiler = webpack(webpackConfig);
app.use(require("webpack-dev-middleware")(compiler, {
noInfo: true,
publicPath: webpackConfig.output.publicPath,
watchOptions: {
poll: true
}
}));
app.use(require("webpack-hot-middleware")(compiler, {
log: console.log,
path: '/__webpack_hmr',
heartbeat: 10 * 1000
}));
Run Code Online (Sandbox Code Playgroud)
webpack.hot.config.js
const path = require('path');
const webpack = require('webpack');
module.exports = {
context: __dirname,
entry: [
'webpack-hot-middleware/client?path=/__webpack_hmr&timeout=20000',
'./src/js/index'
],
module: {
loaders: [{
test: /\.jsx?$/,
include: path.join(__dirname, 'src/js'),
//exclude: /node_modules/,
loader: 'react-hot!babel'
},
{ …
Run Code Online (Sandbox Code Playgroud) express reactjs webpack-hmr webpack-hot-middleware hot-module-replacement
我需要创建一个通用的CompletableFuture
对象数组,以便我可以将它传递给CompletableFuture.allOf
方法CompletableFuture
来同步线程。但由于它是通用的,我无法创建它。一个明显的解决方案是创建一个 List 然后调用toArray
它,但效率很低。有没有更好的方法?这是我的代码:
// Current solution:
List<CompletableFuture<List<ReportComparable>>> newReports = new ArrayList<>();
// Loop and add CompletableFuture objects to this list
// Collect all the retrieved objects here(Sync Threads).
try {
List<List<ReportComparable>> newReps = CompletableFuture.allOf((CompletableFuture<?>[]) newReports.toArray()).get();
} catch (InterruptedException | ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我在Firebase托管上托管了一个静态应用,其后端也在Firebase上(使用firebase JS api进行通信)。我想向该网站的所有页面添加一个简单的身份验证页面,以便只有我想要的用户才能访问该网站。这可能吗?
查看了文档,但没有找到任何可以帮助我的方面。
firebase firebase-hosting firebase-authentication firebase-realtime-database firebase-security-rules
我正在构建一个必须存储图像的照片共享应用程序.所以我正在考虑使用Azure移动服务来存储用户数据和指向存储在Azure存储中的图像的链接.我认为这种方法的问题是,如果图像被修改,可能没有参照完整性.
这是一个很好的方法,还是我应该将这两个存储在数据库中(这种方法更昂贵,货币化).
PS:图像是使用移动相机拍摄的标准图像.
是否可以从控制器外部设置控制器的$ scope变量?
例如,如果我有一个控制器:
app.controller('citySelectCtrl', ['$scope',function($scope){
}]);
Run Code Online (Sandbox Code Playgroud)
以及具有事件处理程序的全局范围中的函数.现在我想$scope
在事件发生时设置一个变量.可能吗?我的全球职能:
function initAutocomplete() {
autocomplete = new google.maps.places.Autocomplete(
/** @type {!HTMLInputElement} */(document.getElementById('autocomplete')),
{
componentRestrictions: {'country': 'in'},
types: ['(cities)']
});
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 22.5937, lng: 78.9629},
zoom: 5,
minZoom: 5
});
}
autocomplete.addListener('place_changed', function() {
infowindow.close();
marker.setVisible(false);
var place = autocomplete.getPlace();
if (!place.geometry) {
window.alert("Autocomplete's returned place contains no geometry");
return;
}
// If the place has a geometry, then present it on a map.
if (place.geometry.viewport) {
map.fitBounds(place.geometry.viewport); …
Run Code Online (Sandbox Code Playgroud) 如果我有一个用于初始化记录器的 log4j.xml 文件,其中foo
定义了 logger( ),但appender-ref
其中没有任何标签,那么该记录器会做什么?如果什么都不做,对性能有影响吗?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
</layout>
</appender>
<logger name="foo">
<level value="WARN"/>
</logger>
<root>
<priority value ="debug" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)